- 技術的な質問
- 製品について
- TE0720のDIPスイッチ
- TE0714のリビジョンの違い
- TE0807の型番の違い
- TE0820に適合するベースボード
- TE0712のネットワークデザイン
- TE0715とTE0706のクロック
- TE0782で2つのNICを使いたい
- TE0741に適合するベースボードは
- TE0729のドキュメント
- TE0720形状でNICが2つのもの
- KK0807の冷却能力
- TE0710の発熱
- TE0701の2.5V対応
- PCIe型の製品
- PCIeが使えるUltraScale+
- TE0803の型番変更について
- UltraScale搭載製品
- TE0803のキャリアボードについて
- TE0803とTE0701の組み合わせ
- TE0808のファン
- TE0820とUSB3
- UltraScale+搭載でMIPI
- TE0782のSDKとサポート
- ZYNQのブートをSDXCで行いたい
- DDR3はPS?PL?
- TE0820とLinux
- TE0715のメモリ容量について
- TE0715のベースボード
- TE0803のトランシーバ
- XC7Z030以上の製品
- 初期データについて
- クロックジェネレータをI2C操作したい
- TE0803のコネクタの位置
- TE0803コネクタの型番
- TE0803のヒートシンク
- TE0803にUSB3.0
- イーサネットが2ポート以上でXC7Z030以上のボード
- TE0701でHDMIが削除されたもの
- TE0712のDDRメモリについて
- TE0712のクロックジェネレータ
- TE0703-05の対応モジュール
- TE0722のメモリサイズ
- TE0820のベースボード
- TE0808用のヒートシンク
- ジャンボフレーム
- TE0808型番の末尾の違い
- Zynqberryに誤ったリビジョンのデザインを書き込んだ
- XPRファイルについて
- /sys/class/gpioによる操作
- デバッグについて
- 資料やソースの入手について
- FPGA一般の質問
- 製品について
- その他の質問
- お取引に関する質問
営業時間:平日10:00~17:00
TEL:03-6853-6626
MAIL:sales@trenz.jp
出来る限り電話ではなくメールでのお問い合わせをお願いします。
/sys/class/gpioによる操作
質問
① ZynqberryをRaspberry Piと同じように
にて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月)












