このエントリーをはてなブックマークに追加

Armadillo-IoT G3/X1: GPIO sysfsの割り込みを利用する

 Armadillo-400シリーズのソフトウェアマニュアルにサンプルコードがある、GPIO sysfsからの割り込みですが、
これをG3/X1に搭載可能なDIDOアドオンモジュールで利用する方法です。

400シリーズの以下のドキュメントにGPIO sysfsの割り込みを扱うサンプルがあります。
図9.1 GPIO sysfs 割り込みサンプルプログラム

基本的にはG3/X1に搭載可能なDIDOアドオンモジュールでも同じサンプルを使えますが、以下の点を
修正する必要があります。

1. gpioのポート名を表す文字列は随時変更してください。

#define GPIO_DIR "/sys/class/gpio"
#define GPIO_NAME "CON9_1"
#define GPIO_PATH GPIO_DIR "/" GPIO_NAME "/"
G3/X1のポート名はマニュアルを参照してください。 G3:6.15. Armadillo-IoT 絶縁デジタル入出力/アナログ入力アドオンモジュール DA00 X1:6.15. Armadillo-IoT 絶縁デジタル入出力/アナログ入力アドオンモジュール DA00

2. pollに渡すパラメータを変更します

pfd.events = POLLIN;
G3/X1の場合は、以下に変更します。
pfd.events = POLLPRI | POLLERR;
この変更についてはカーネルのソースコード内の以下のドキュメントに記載があります。 linux-3.14-x1-atxx/Documentation/gpio/sysfs.txt 以上

製品: 

  • Armadillo-X1
  • Armadillo-IoT G3