[Armadillo:06416] Re: Armadillo-420 シリアルについて

Takenoshita Koyo email@hidden
2010年 12月 24日 (金) 15:11:11 JST


竹之下です。

> また、他のポートにログを出力される等出来るようであれば教えてください。
コンソールに文字を表示するプログラムには、ブートローダー、Linuxカーネル、
ユーザーランドアプリケーションプログラムの3種類があります。

カーネルメッセージの出力先は、カーネルパラメータのconsoleオプションで指定
できます。カーネルパラメータは、ブートローダーのsetenvコマンドで設定しま
す。ブートローダーは、consoleオプションが指定されている場合、それと同じシ
リアルインターフェースに起動ログを出力します。

カーネルパラメータを設定するには、Armadilloを保守モードで起動して、
hermit> setenv console=ttymxc2
使用するシリアルデバイスのデバイスファイル名を入力します。
デバイスファイル名とシリアルインターフェースとの対応は、以下を参照してく
ださい。
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_software_manual_ja-1.3.0/ch08.html#sec-UART

console=ttymxc2を指定した状態で起動すると、起動ログやカーネルメッセージな
どはシリアルインターフェース2に出力されるようになります。但し、ログインプ
ロンプトはまだシリアルインターフェース1に出力されます。

ログインプロンプトをシリアルインターフェース2に表示するには、/etc/inittab
を/etc/securettyを変更する必要があります。以下のように修正してください。

/etc/inittab
------
::sysinit:/etc/init.d/rc

::respawn:/sbin/getty -L 115200 ttymxc2 vt102 <- ttymxc1をttymxc2に書き換える
#::respawn:/sbin/getty 38400 tty1 linux

::shutdown:/etc/init.d/reboot
::ctrlaltdel:/sbin/reboot
------

/etc/securetty
------
ttymxc1
ttymxc2  <-- 1行追加
tty1
------

> 電源投入からユーザーアプリケーションが起動するまで、
> COM3に何も出力しない方法はあるのでしょうか?

hermit> setenv console=none
とすると、起動ログやカーネルメッセージをコンソールに表示しないようになります。

> フラッシュのイメージの書き込みは、SW1を押しながら電源投入で今まで通り、
> 書き込みが出来るのでしょうか?
hermit> setenv console=ttymxc2
とした場合は、シリアルインターフェース2を使ってフラッシュイメージの書き込み
をおこなうようになります。

hermit> setenv console=none
とした場合は、SW1を押しながら(保守モードで)起動した場合、通常と同じように
シリアルインターフェース1を使ってフラッシュイメージの書き込みができます。

> もう1つ教えてください。
> CON9のGPIOですが、電源投入後からユーザーアプリケーションにてイニシャルを行う
> までの
> 間は、GPIOのピン出力は不定の状態になってしまうのでしょうか?
> 
> 現在みてみると、Highレベルになっています。
> 出来れば、Lowの状態でスタートさせたいのですが無理でしょうか?
これは、デバイスの初期状態、ブートローダー、カーネルのそれぞれが関係してきます。

デバイスの初期状態とブートローダーが設定する値は、以下を参照してください。
付録B 拡張インターフェースの初期設定
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_hardware_manual_ja-1.3.0/apb.html

カーネルが設定する値は、以下を参照してください。
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_software_manual_ja-1.3.0/ch08.html#sec-GPIO
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_software_manual_ja-1.3.0/ch02.html#table-Armadillo-420ベーシックモデル拡張インターフェースピン配置
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_software_manual_ja-1.3.0/ch02.html#table-Armadillo-440液晶モデル拡張インターフェースピン配置

CON9 27と28ピンは出力Low、それ以外は入力となっています。(プルアップされているの
で、ピンの電圧レベルはHighになります。)

これらの設定は、 
linux-2.6.26-at/arch/arm/mach-mx25/armadillo400.c
static struct mxc_ext_gpio gpio_list_revc[]に記述されています。

例えば、CON9 1を出力Lowにしたい場合、
        {"CON9_1",   GPIO(1, 2),  MXC_EXT_GPIO_DIRECTION_INPUT},
を
        {"CON9_1",   GPIO(1, 2),  MXC_EXT_GPIO_DIRECTION_OUTPUT, 0},
に変更してください。

TFC 小林 さんは書きました:
> お世話になります。小林と申します。
> 
> 現在、Armadillo-420を使い開発中で、
> Armadillo-420のCOM3を使い他の機器を制御したいと考えております。
> 
> しかし、デフォルトではCOM3はLinuxのコンソールログ等を出力するようになってお
> り、
> Armadillo-420の電源投入時に何らかのログが出力されてしまいます。
> 
> 電源投入からユーザーアプリケーションが起動するまで、
> COM3に何も出力しない方法はあるのでしょうか?
> 
> また、他のポートにログを出力される等出来るようであれば教えてください。
> 
> フラッシュのイメージの書き込みは、SW1を押しながら電源投入で今まで通り、
> 書き込みが出来るのでしょうか?
> 
> もう1つ教えてください。
> CON9のGPIOですが、電源投入後からユーザーアプリケーションにてイニシャルを行う
> までの
> 間は、GPIOのピン出力は不定の状態になってしまうのでしょうか?
> 
> 現在みてみると、Highレベルになっています。
> 出来れば、Lowの状態でスタートさせたいのですが無理でしょうか?
> 
> 以上、よろしくお願いします。
> 
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 


-- 
Koyo Takenoshita




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