H8のフラッシュメモリに書き込みをするため、h8commというプログラム
を用意しました。マニュアルはh8comm
manualを参照して下さい。
h8commの配布ファイルの中にromsmpl.binというサ
ンプルプログラムがあります。これはI/OポートBを点滅させ、シリアルポートか
ら"Hello,
world"というメッセージを送信しつづけます。動作確認に使うのにちょ
うどよいと思います。
このプログラムをROMに書き込むには、h8commに次のオプションを
与えます。
h8comm -d romsmpl.bin
標準出力から"Hello, world"が次々と出てきたら成功です。
次は、romsmpl.binのようなバイナリイメージをCのソースから作
る方法です。
まず、COFFのファイルを作成します。GCCを次のオプションをつけ
て実行します。オプションのうちのいくつかは見慣れたものですが、見慣れない
オプションもあると思います。
h8300-hms-gcc -O -mh -mrelax -T /usr/local/lib/h8comm/h8ram.x
-nostartfiles /usr/local/lib/h8comm/h8crt0.o sample.c -o sample
-T オプションはリンカスクリプトファイルを指定するオプションです。
ここでは、h8ram.xというブートモード用のリンカスクリプトを指
定しています。ROMに書き込むときにはh8rom.xを指定します。
-nostartfilesはデフォルトのスタートアップルーチンを使用しないと
いう指定です。そして、代わりにh8crt0.oという自前のスタート
アップルーチンをリンクしています。
次に、objcopyでCOFFファイルを生のバイナリファイルに変換します。
h8300-hms-objcopy -O binary -R .stack sample sample.bin
こうして、h8commに渡すことができるバイナリファイル
sample.binを作ることができます。
kp9m-iwt@asahi-net.or.jp