ご質問とその答え


営業時間:平日10:00~17:00

TEL:03-6853-6626

MAIL:sales@trenz.jp

出来る限り電話ではなくメールでのお問い合わせをお願いします。


  • 製品型番について
  • ベースボードの適合表
  • ボードの選び方ガイド
  • ダウンロード
  • チュートリアル
  • 特設ページ
  • セミナーのご案内
  • 商品のお取り寄せについて
  • TrenzElectronic社とは
  • 特殊電子回路株式会社とは
  • お問い合わせ

/sys/class/gpioによる操作

質問

① ZynqberryをRaspberry Piと同じように

echo ?? > /sys/class/gpio/export

にてGPIOを制御したいです。

??は906からのアドレスにてmioの制御ができるのでしょうか?

 

② 最初はFPGAなしでraspberryからの移行を行いたい為、LinuxからI2C,SPI,GPIOの制御をraspberryと同じように制御できるような設定を教えて下さい。

 

③ 下記サイトはbaremetalなのでlinuxのときと違うのでしょうか?

https://forum.trenz-electronic.de/index.php?topic=603.0

 

回答

① ZYNQBERRYのIOピンヘッダは、EMIOといって、MIOとは違うアドレスに割り当てられています。

906~959はMIO経由のGPIO(54本)ですが、MIOは基板上の制御信号に使われているのでピンヘッダには出てきません。

ピンヘッダに出てくるのは、960~1023はEMIO経由のGPIO(64本)ですが、

  • RasPiピン番号が 2~13の場合:"ピン番号+958"番の仮想ファイル 
  • RasPiピン番号が16~26の場合:"ピン番号+956"番の仮想ファイル

という割り当てになります。

文章だとすごくややこしいので、下記の資料をご覧ください。

https://www.trenz.jp/seminar/zbs2.pdf

 

② i2cはバスエクステンダで拡張されていて、/dev/i2c-0 ~ /dev/i2c-5 に見えています。

SPIはおそらくPSの設定で未使用になっています。PSの設定でSPIを有効にして、SPIの信号をEMIOに通して、

PLから適当なピンに出すという方法でうまくいくと思います。

 

③ 参考サイトのデザインでは、AXI GP0バスからAXI GPIOをFPGA内のPLに作り、そのPLでGPIOをコントールしています。

それに対して、リファレンスデザインではPSのGPIOをEMIOでPLに通してGPIOピンに出力しています。

 

そのため、ベアメタルだから異なるというよりは、FPGA内のPL部分の構成が違うのと、GPIOの構成方法が異なるので、アドレスも異なります。

 

 

(回答時期2018年3月)