[Armadillo:07956] Re: SC1602BSキャラクタディスプレードライバーを組込とgpioctrlが使用できない。

Takenoshita Koyo email@hidden
2012年 3月 27日 (火) 18:30:59 JST


竹之下です。

(2012年03月17日 13:12), h wrote:
> 泉と申します。
> Armadillo-210のHowToのSC1602BS LCDモジュールをつけようを参考に
こちらですね。
http://armadillo.atmark-techno.com/howto/add-lcd-char-display

> Armadillo- 220に
> SC1602BSキャラクタディスプレードライバーを組込みc言語にてメニュープログ 
> ラム、
> ipアドレス表示プログラム、時間表示プログラムを作成してバックグラウンドで 
> 動かしています。
> 問題はSC1602BSキャラクタディスプレー、タクトスイッチで使用していないGPIO 
> 8〜 を
> gpioctrlコマンドで使用したいのですが使用することができません。解る方お願 
> いいたします。
使用できないとは、どういう状況でしょうか?
もう少し、詳しく教えていただけますか?

Howtoの記事を参考に、LCDモジュール用のドライバを作成されたのであれば、
GPIOドライバが無効になっているのではないかと思います。

> またGPIO 8〜を電源立ち上げと同時に出力LOWレベル設定としたいです。
> 過去のログを見るとGPIOの初期値を電源投入直後に設定したい場合
> bootloader(hermit-at)とkernelの修正が必要とのコメントがありましたが具体 
> 的に教えていただきたいです。
Armadillo-220では、GPIOとEP9307のポートとの対応は下記のように
なっています。

|ピン名      | GPIO番号|EP9307ポート|
|CON12 1ピン | GPIO_8  | Port D:0  |
|CON12 2ピン | GPIO_9  | Port D:1  |
|CON12 3ピン | GPIO_10 | Port D:2  |
|CON12 4ピン | GPIO_11 | Port D:3  |
|CON12 5ピン | GPIO_12 | Port C:0  |
|CON12 6ピン | GPIO_13 | Port C:1  |
|CON12 7ピン | GPIO_14 | Port C:2  |
|CON12 8ピン | GPIO_15 | Port C:3  |

EP9307のGPIOモジュールでは、ポートごとにDDR(Data Direction Register)と
DR(Data Register)を持っています。出力Lowとするには、DDRの対応するビットを
1(出力)にし、DRの対応するビットを0(Low)にする必要があります。

Armadillo-220用のブートローダーでは、GPIOの設定は
hermit-at/src/target/armadillo2x0/boot.S ファイルで行っています。
下記のように変更すると、起動直後にGPIO_8から15が出力Lowになると思います。

--- a/src/target/armadillo2x0/boot.S
+++ b/src/target/armadillo2x0/boot.S
@@ -60,11 +60,12 @@ _start_flash:
        cmp     r4, #0x00
        moveq   r1, #0x00       /* a210(Rev.A or B) */
        movne   r1, #0x80       /* a2[2|3|4]0,a210(Rev.C or later) */
-       str     r1, [r0, #0x18]
        str     r1, [r0, #0x08]
+       orr     r1, r1, #0x0f
+       str     r1, [r0, #0x18]

-               /*PDDDR=0x00*/
-       mov     r1, #0x00
+               /*PDDDR=0x0f*/
+       mov     r1, #0x0f
        str     r1, [r0, #0x1c]

                /*PFDDR=0x00*/

カーネルでは、GPIO_8から15はGPIOドライバ以外誰も触らないので、修正の
必要はないと思います。

-- 
Koyo Takenoshita




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