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

Emi Miyata email@hidden
2010年 8月 4日 (水) 17:37:26 JST


TAMU と申します。

最近 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 メーリングリストの案内