[Armadillo:04177] Re: a-220 gpioctrlによる割り込み制御
honda seijiro
email@hidden
2009年 4月 7日 (火) 15:49:13 JST
竹之下様
本田です。
パッチを当てたカーネルイメージを使用した結果、起動直後一回目のrising-
edgeに対してもウェイトすることが確認できました。
ありがとうございました。
度々初歩的な質問で申し訳ありませんが、「--debounce」オプションはどういっ
た時に設定するものなのでしょうか?
ご教授下さい。
--
本田
Takenoshita Koyo wrote :
> 竹之下です。
>
>
>> 先日の質問ですが、私の実験方法に問題がありました。
>>
>> (前回)
>> GPIO0のピンに対してinput/outputを行っていたため、CPUとGPIO用レジスタ間だ
>> けのやりとりになっていました。
>>
>> (今回)
>> GPIO0とGPIO1のピンをジャンパでショートさせる。
>> GPIO0のピンにinputで割り込みを登録し、GPIO1のピンにoutputでlow/highを出
>> 力させる。
>> GPIO1の出力がGPIO0の入力になり、GPIO0がlow/highのedgeを検知することで割
>> り込み処理が発生した。
>>
> とのことですが、GPIOのデバイスドライバにも一部問題がありました。
>
> [armadillo ~]# gpioctrl --set=gpio0 --mode=input --type=rising-edge --debounce --handler="echo interrupted"
> というコマンドを実行したとき、起動直後の一回目だけウェイトせずにすぐ戻ってきてしまいます。
>
> 二回目以降は、期待した通り、GPIOピンのレベル変化が無い間はウェイトし、
> 立ち上がりエッジが入った時に割り込みが入り戻ってきます。
> この現象は、"--debounce"を指定しない場合は発生しません。
>
> 修正パッチを添付します。
>
> 以下のようにカーネルのソースコードに適用して、カーネルイメージを再構築してください。
> [PC ~]$ ls
> linux-2.6.12.3-a9-17 linux-2.6.12.3-a9-17-fix-gpio-irq.patch
> [PC ~]$ cd linux-2.6.12.3-a9-17
> [PC ~]$ patch -p1 < ../linux-2.6.12.3-a9-17-fix-gpio-irq.patch
>
>
> ご報告いただきまして、ありがとうございました。
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
armadillo メーリングリストの案内