Armadilloフォーラム

Armadillo-X1でGPIO sysfs割込みについて

kimizuka

2020年7月7日 15時27分

製品:Armadillo-X1
内容:
お世話になっております。

初歩的な質問ですみません。
実はArmadillo-X1でGPIO sysfs割込みの動作検証をしようとしております。
検証用プログラムとして ブログ https://armadillo.atmark-techno.com/blog/750/2713 にあるように
”図9.1 GPIO sysfs 割り込みサンプルプログラム” を
 pfd.events = POLLPRI | POLLERR;
と、CON8のGPIO145で割込みを受け付けるように変更して実行いたしました。
実行直後、
 root@armadillo:~# ./gpio_intr
 waiting for interrupt...

と表示されますが、この後割込み入力をGPIO145に印加しても変化がありません。
このとき、
 root@armadillo:~# cat /sys/class/gpio/gpio145/edge
 falling
 root@armadillo:~# cat /sys/class/gpio/gpio145/direction
 in
 root@armadillo:~# cat /sys/class/gpio/gpio145/value
 0
となっております。

尚、GPIO145には弊社製ボードから約200msのロー・パルスを加えております。
また、カーネル、Debianのヴァージョンは
 root@armadillo:~# uname -a
 Linux armadillo 4.9.133-at9 #5 SMP PREEMPT Mon Mar 23 13:41:25 JST 2020 armv7l GNU/Linux
 root@armadillo:~# cat /etc/issue
 Debian GNU/Linux 9 \n \l

となります。
何か不足している設定、誤り等ございましたらご教授のほどよろしくお願いいたします。

kimizuka

コメント

佐藤です。

お使いになられているdtsファイルとサンプルプログラムのソースコードを見せていただくと
なにかアドバイスできるかもしれません。

ご連絡ありがとうございます。

> 佐藤です。
>
> お使いになられているdtsファイルとサンプルプログラムのソースコードを見せていただくと
> なにかアドバイスできるかもしれません。

それでは、添付いたしますのでご検討のほどよろしくお願いします。

kimizuka

ファイル ファイルの説明
GPIOsysfs.zip

佐藤です。

ロー・パルスを入れていない状態では、value は 1 (high)になっていますでしょうか。

お世話になっております。kimizukaです。

> 佐藤です。
>
> ロー・パルスを入れていない状態では、value は 1 (high)になっていますでしょうか。
>

以下のように 1(High)が読めております。

root@armadillo:~# cat /sys/class/gpio/gpio145/value
1

以上、よろしくお願いいたします。

佐藤です。

サンプルアプリを起動した状態で、CON8の62pin(gpio145)とGNDを接続するとサンプルアプリは反応しますでしょうか。

お世話になっております。kimizukaです。

いろいろと調査した結果、原因は弊社製ボードにございました。
現在、”waiting interrrupt..." のあとローパルスを与えて"OK (0, Low)"となり割込みを受け付けてます。
 
この度はお騒がせしまして誠に申し訳ありませんでした。
また、サポートいただきまして大変ありがとうございました。

以上
kimizuka

> 佐藤です。
>
> サンプルアプリを起動した状態で、CON8の62pin(gpio145)とGNDを接続するとサンプルアプリは反応しますでしょうか。