連載
» 2008年09月29日 00時00分 公開

−ザ・組み込み−ソフトウェアのハードウェア化(3):山あり谷あり、非力なマイコンでuClinuxを動かすべし (2/4)

[鳥海佳孝 設計アナリスト,@IT MONOist]

シリアル通信ソフトの準備

 それでは、AKI−H8/3069Fの電源をいったん切り、通常モードに設定して立ち上げます!

 といきたいところですが、またまた組み込みの神様は意地悪なハードルを用意してくださいます(この後の手順でも多くのハードルが用意されていますが……)。説明書や解説などをよく見ると、大抵の場合、以下のような文言が書かれていると思います。

「シリアル通信ソフトを立ち上げ……」

 Windows PCであれば「ハイバーターミナル」が標準で使えますが、今回のホストPC(Linux)の場合、シリアル通信ソフトが果たして標準で入っているのでしょうか?

 Linuxにおけるシリアル通信ソフトの定番といえば、「cu」コマンドや「minicom」コマンドが挙げられます。Vine Linuxにも「screen」というコマンドがあらかじめインストールされていますが、本連載では筆者の独断と偏見(なじみ?)で、定番の「cu」と「minicom」を利用することにします。Fedora Coreなどのディストリビューションでは、デフォルトで「minicom」がインストールされるようですが、Vine Linux 4.2には残念ながら入っていません。試しに以下のコマンドを実行してみると、いずれも「コマンドが見つからない」と怒られてしまいます。

# which minicom
/usr/bin/which: no minicom in (/opt/bin:/usr/local/sbin:/usr/local/bin:/
sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin)  
# which cu
/usr/bin/which: no cu in (/opt/bin:/usr/local/sbin:/usr/local/bin:/sbin:/
bin:/usr/sbin:/usr/bin:/usr/X11R6/bin) 

 これは、Vine Linuxのポリシーが“コンパクト(CD1枚にデフォルトのインストールを収める)”であることから、一般的な用途では使用されないであろうコマンドはあらかじめ除外されているようです。「なんで入っていないんだよ!!」とその理由をいつまでも考えていても仕方がないので、ここは潔くあきらめてシリアル通信ソフト(「cu」と「minicom」)をインストールすることにします。以下のリンクから「cu」コマンド(uucp-1.06.1-33vl1.i386.rpm)と「minicom」コマンド(miniocm-2.1.tar.gz)をダウンロードしてください。

 ファイルのダウンロードが完了したら、以下のコマンドでそれぞれインストールします。

# rpm -ivh uucp-1.06.1-33vl1.i386.rpm
準備中...                   ###############################
############ [100%]
   1:uucp                   ###############################
############ [100%] 
# tar zxvf miniocm-2.1.tar.gz
# cd minicom-2.1
# ./configure
# make
# make install 

 「minicom」の場合、デフォルトのシリアルポートデバイスが「/dev/ttyS1」になっており、なおかつ、コマンドが「/usr/local/bin」の下にインストールされているので、以下のコマンドを入力して、

# minicom -s 

設定画面に入り、コラム1(「cu」と「minicom」について)にあるように必要事項を指定します。

 ここまで準備できたら、

  • USB−シリアル変換ケーブルでホストPCとターゲットボードとが接続されているか?
  • SW1が図2のような設定になっているか(fconfigコマンドからフラッシュROMを書き換えられるようにするため、「4」をONに)?
通常モードの設定 図2 通常モードの設定

をいま一度確かめてください。そして、ホストPCで新たにシェルを起動して、以下のコマンドを実行します。

# cu -l /dev/ttyUSB0 -s 38400 

 すると、以下のようなエラーが表示されます。

cu: creat (/var/lock/TMP00000022c1): Permission denied
cu: /dev/ttyUSB0: Line in use 

 どうも「/var/lock以下の書き込み権限がない」といっているようなので、強引ではありますが、「/var/lock」以下に全パーミッションを与えてしまいます。

# chmod 777 /var/lock/
# cu -l /dev/ttyUSB0 -s 38400
Connected. 

 これでうまく接続できました。以下のコマンドを実行すれば、「minicom」が起動するはずです。

# minicom 
※コラム1:「cu」と「minicom」について
「minicom」の設定について図a〜hに示します。「minicom -s」コマンドを実行すると、図aのような画面が立ち上がりますので、「ファイル転送プロトコル」を選択します。
ファイル転送プロトコルの設定 図a ファイル転送プロトコルの設定
図bのIの項目を選択するために[I]キーを入力して、[Enter]キーで移動します。「minicom」コマンドが「/usr/local/bin」にインストールされているので、図bのようにパスを変更します。
プログラムのパスの修正 図b プログラムのパスの修正
続いて[Enter]キーで最初のメニューに戻り、図cのように「シリアルポート」を選択します。
シリアルポートの設定 図c シリアルポートの設定
今度は、図dのAの項目を選択するために[A]キーを入力して、デバイスのファイル名を「/dev/ttyUSB0」(ご自身の環境に合わせて該当するファイル名を指定してください)に変更します。
シリアルデバイスの修正 図d シリアルデバイスの修正
先ほどと同様に、[Enter]キーで最初のメニューに戻り、図eのように「“dfl”に設定を保存」を選択して保存し、図fのように「Minicomを終了」を選択すれば設定は終了です。
デフォルトとして保存 図e デフォルトとして保存
設定の終了 図f 設定の終了
「minicom」の設定画面から抜ける場合は、[Ctrl]+[A]キーを押してから[Z]キーを入力します。すると、図gのようなメニューが表示されますので、[X]キーを入力して「リセットして終了」を選択すればOKです(図h)。
Minicomのコマンド一覧画面 図g Minicomのコマンド一覧画面
Minicomの終了 図h Minicomの終了
一方、「cu」コマンドですが、以下のように「~(チルダ)」を入力した後に、「.(ピリオド)」を入力すると、「cu」コマンドから抜けることができます。

/> ~.

Disconnected.

#




Copyright © ITmedia, Inc. All Rights Reserved.