[Armadillo:05577] Re: armadillo-9 上での GPIO アクセスについて

t email@hidden
2010年 8月 5日 (木) 14:48:24 JST


nakai様

2010年8月4日21:56 nakai <email@hidden>:
> nakaiです。
>
> それでは、ビルド環境だと思います。
> sampleはどのようにビルドしましたか?
>
> たぶん、
> カーネルが知っているEP93XX_GPIO_OUTと、
> ビルド時のEP93XX_GPIO_OUTが違うために問題が起きていると推測します。

ご指摘の通り ep93xx_gpio.h が kernel 2.4系のものを使用しておりました。
最新の kernel tree のファイルを使用して compile することで正常に動作する
ことを確認しました。
ありがとうございました。

> (2010/08/04 21:52), t wrote:
>> nakaiさま
>>
>> 返答ありがとうございました。
>>
>> 10/08/04 nakai<email@hidden>:
>>> nakaiです。
>>>
>>>> mailing list archive みまして /dev/gpio の major/minor
>>>> が違うかもしれないと思いましたが、10/186 の dev file では
>>>> open error でそもそも dev file が open できませんでした。
>>>
>>> デバイスノードは、miscの
>>>    19 #ifndef GPIO_MINOR
>>>    20 #define GPIO_MINOR 185
>>>    21 #endif
>>> のため、10, 185だと思います。
>>> この番号で試してもらえますか?
>>
>> 最初に 10/185 で /dev/gpio を mknod したところ、open はできるが
>> ioctl で NGでした。そこで 10/186 も試したという経緯になります。
>> 他に何か確認することはありますでしょうか。
>>
>> 宜しくお願い致します。
>>
>>>> 最近 armadillo-9 を購入しまして、gpio を使って I/F する
>>>> プログラムを開発しようとしております。
>>>>
>>>> 付属の CD-R に gpio の sample program がありましたので
>>>> 下記環境下 (debian on CF) でコンパイルし動作させました。
>>>> access したのは sample と同じ CON4 #7&8 です。
>>>> まずは方向を決め
>>>>           d.device = EP93XX_GPIO_PBDDR;
>>>>           d.mask   = 0x00000003;
>>>>           d.data   = 0x00000002;
>>>>           st=ioctl(fd, EP93XX_GPIO_OUT,&d);
>>>> gpio 動作検証のため、このうち #8 に 0 を書きました
>>>>           d.device = EP93XX_GPIO_PBDR;
>>>>           d.mask   = 0x00000002;
>>>>           d.data   = 0x00000000;
>>>>           ioctl(fd, EP93XX_GPIO_OUT,&d);
>>>> が、オシロで確認したところ H のままでした。ちなみに、他の
>>>> ビットが変わっていないか COM4/COM5 の POWER/GND 以外の
>>>> 全てのピンをあたりましたが、L のピンはありませんでした。
>>>>
>>>> debug 目的でioctl 部の return value を確認したところ
>>>> DDR の設定部 (上記 1 つめの ioctl) で -1 が返ってきました。
>>>> perror で error 内容を確認すると
>>>>         Unknown error 515
>>>> が戻ってきました。以上のことから、register access が
>>>> 正常にできていないと判断しました。
>>>>
>>>> マニュアルを読みましたが、GPIO を使うために、特に、
>>>> 設定を変更する部分もないように思われます。
>>>>
>>>> もし当方の operation での問題点や、他に確認することなど
>>>> ありましたらご指摘願えませんでしょうか。宜しくお願い致します。
>>>>
>>>> 当方の環境です。
>>>> 単体で compile を含めた作業環境を構築するために、software
>>>> manual の section 12 を参照して作業しました。
>>>> CF に
>>>> http://armadillo.atmark-techno.com/armadillo-9/downloads
>>>> から debian 環境構築用ファイルを download&   展開し、
>>>> kernel は同じ directory の v2.6.12.3-a9-17 を
>>>> download し /boot におきました。念の為、
>>>> ブートローダ (eth対応) も Hermit-At で download
>>>> しました。uname は
>>>> # uname -a
>>>> Linux debian 2.6.12.3-a9-17 #1 Thu Mar 19 13:47:09 JST 2009 armv4tl
>>>> GNU/Linux
>>>> です。
>>>> on-chip の kernel/userland も同サイトの
>>>> v2.6.12.3-a9-17 / v2.3-a9-17
>>>> を download しました。JP1/JP2 ともに open として
>>>> on-chip に download した kernel から起動しています。
>>>>
>>>> もしかすると kernel で gpio off になっているのかと
>>>> atmark-dist + kernel source
>>>> を download しまして make config しましたが、
>>>> gpio は default で on になっているようです。
>>>> (make all するには package がたりず今はできて
>>>> おりません)
>>>>
>>>> mailing list archive みまして /dev/gpio の major/minor
>>>> が違うかもしれないと思いましたが、10/186 の dev file では
>>>> open error でそもそも dev file が open できませんでした。
>>>>
>>>> 以上です。宜しくお願い致します。
>>>> _______________________________________________
>>>> armadillo mailing list
>>>> email@hidden
>>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>>>
>>>
>>> _______________________________________________
>>> armadillo mailing list
>>> email@hidden
>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>



armadillo メーリングリストの案内