ユーザ用ツール

サイト用ツール


gpio制御

**文書の過去の版を表示しています。**

GPIO制御

sysfs経由のGPIO制御だと応答速度が遅い。 プロジェクトの要求仕様的に、その遅い応答速度では満足できなかった。 本当は、

  • GPIOへの切替え
  • 出力/入力の切替え

などもすべて自作のGPIO制御部にて実施したかったが、GPIO系の制御レジスタの制御のみでは駄目で(仕様としてはできそうだったのだが)、結局、sysfsの助けを借りて、初期化時はsysfsを用いてポートの初期化を行い、ポートの変化の箇所だけmmap経由でのGPIOレジスタReadとすることで応答速度を確保。

今回、Jetson Xavier NXへのプロジェクト一式を移植する際に、GPIOポートの制御部分のXavier NX対応を検討した。 mmapでGPIOレジスタのアドレスの近辺の値の変化を観測しつつ、gpio-tegra186.cも読んで大体把握。 大体把握できたあたりで、たまたま、libgpiodの存在を知った。

ただし、Qiitaにlibgpiodの使い方を書いている人がいたので二番煎じになったので、経緯を含めて紹介してみる。経緯に興味は持たれないかもしれないが。

また、Jetson NanoとJetson Xavier NXだけでなく、Raspberry Pi 4でも動作確認を取ることで、ポータビリティも確認できた。

gpio制御.1639018872.txt.gz · 最終更新: 2021/12/09 12:01 by admin