2008年11月24日月曜日

Vine Linuxでマイコン開発(2)

その後、すっかり記述がご無沙汰してしまいました。

結局、Vine 4.2ではRPMによるクロス開発環境構築を諦め、通常の様にソースからconfigure & make & make installを行いました。但し、インストール先はユーザのホームディレクトリ以下です。

これで、binutilsとgcc、そしてnewlibが揃いました。

次は、開発に用いる組込向けOSを用意します。今回はμITRON 4.0に準拠したオープンソースのOSである、TOPPERS/JSPを用います。

TOPPERS/JSPは、実はOSと言うよりも大きなライブラリです。ソースが公開されていますし、既に様々なCPUやプラットフォームに移植済です。当然、今回のターゲットであるルネサスH8 3069Fプロセッサや、秋月電子 H8 3069F LANボードに対応しています。

ところで、TOPPERS/JSPを使うプログラムは、TOPPERS/JSPカーネル(実体はソースをビルドする事で得られるlibkernel.aという静的ライブラリ)とリンクされ、H8 3069Fの内部フラッシュROMに書き込まれることで、実行可能となります。

しかし、H8 3069のフラッシュROMは100回の書き込みしか保証されていません。そこで、毎回毎回フラッシュROMに書き込まなくても良い様に、フラッシュROMには簡易モニタプログラムを書き込むことにします。H8用の簡易モニタプログラムはこちらからダウンロードできます。

H8簡易モニタは、既にコンパイル済のバイナリが配られているアーカイブに含まれていますし、それをビルドするためのソースも同梱されています。特にバイナリ版で問題が無ければ、バイナリ版をH8 3069のフラッシュROMに転送します。

ちなみに、転送するにはROMライタプログラムが別途必要です。今回は、ソースが手に入るOpen H8/SH Writeを利用することにします。ソースファイル「h8write.c」をダウンロードし、そのまま例えば以下の様なコマンドラインでコンパイルします。

% gcc -o h8write h8write.c

出来上がったROMライタを使って簡易モニタをH8 3069のフラッシュROMに転送します。

% h8write -3069 -f20 mon3069.mot /dev/ttyUSB0

但し、簡易モニタプログラムのモトローラSレコード形式ファイルのファイル名をmon3069.mot、また今回はUSB/シリアル変換ケーブルを用いているので、シリアルポートのデバイスファイルを/dev/ttyUSB0としています。

これでとりあえずH8簡易モニタが起動する様になります。H8 3069ボードのシリアルポートコネクタにUSB/シリアル変換ケーブルを接続し、Vine上でrootにsuしてからminicomを起動します。root権限が無いとシリアルポートのデバイスファイル/dev/ttyUSB0がオープン出来ませんので、ご注意下さい。また、ターミナルソフトはminicomじゃなくても構いません。

minicomを起動する場合は、まず最初にシリアルポートの接続設定を行う必要がありますので、コマンドラインオプションに”-s”を指定します。

% su -
% minicom -s

もしくは、普通にオプション無しでminicomを起動し、”Ctrl-a s”で設定画面を呼び出しても同じです。

シリアルポートの設定は、以下の通りです。

  • 通信速度: 38,400bps
  • データサイズ: 8ビット
  • パリティ: 無し
  • ストップビット: 1

H8 3069ボードに接続し、簡易モニタの起動が確認出来ればひと段落です。

0 件のコメント: