H8/3069マイコンを使おう!



H8/3069マイコンを使おう!
秋月AKI-H8/3069Fマイコンボードキットを買いました。秋月のH8マイコンキットの最新版です。機械研で長く使っていたAKI-H8/3048に比べ、

  • 5Vでフラッシュが焼けるので、フラッシュ焼き用のマザーボードが不要。
  • 16MbitのDRAM搭載
  • 25MHz動作(AKI-H8/3048は16MHz)
  • 付属のコンパイラgcc (AKI-H8/3048のは秋月製)

などなどとなってます。
機械研でも現在ではAKI-H8/3069Fのほうが使われてるようなので、今回ぼくもAKI-H8/3069Fを使ってみることにしました。



とりあえずキット製作しよう
とりあえず、説明書にしたがって組み立て、シリアルケーブルと電源ケーブルを作りました。電源にはジャンクのACアダプタを用いました。5.5〜12Vの電圧のものなら何でもいいようです。

開発ソフトをインストールしよう
開発には

  1. Cygwin/GCCのH8コンパイラパッケージ (クロスコンパイル環境)
  2. H8WriteTurbo (H8マイコンのフラッシュ書き込みソフト)

が必要です。
H8WriteTurboは付属のCD-ROMをパソコンに挿入すると勝手にインストーラーが立ち上がって、インストールできます。
Cygwin/GCCのH8コンパイラパッケージは、(CDドライブ):\cygwin\setup.exeがインストーラーです。ぼくはすでにCygwinをインストールしてあるので、今回はH8コンパイラパッケージのみを追加でインストールしました。



ソフトを書いてみよう
マイコンのハードウェアマニュアル (CDドライブ):\DATA\J602277_H83069.PDF や、IO定義ヘッダファイル (CDドライブ):\H8_OS\INCLUDE\REG3067.H を見ながらコーディングします。
今回は、ゲームパッドのボタン入力を汎用入力ポートで読み、対応するアスキー文字をシリアルポートに出力するというプログラムを書いてみました。↓
http://licheng.sakura.ne.jp/hatena/ctrl.c
(shagaくんが見たら呆れるようなアホアホプログラムです。)

コンパイルしてROM化ファイルを作ろう
ROM化ファイル(MOTファイル)を作るためのスクリプトファイル makerom を作成しました。

#!/usr/bin/sh
h8300-hms-gcc -O -mh -mint32 -T rom3068.x -o $1.coff -nostartfiles 30xxcrt0.s $1.c -lc
h8300-hms-objcopy -O srec $1.coff $1.mot
cat kern3068.mot $1.mot > rom_$1.mot
これを使ってさきほど作成したCソースをコンパイルします。このとき、(CDドライブ):\H8_OSから、ROM3068.X と KERN3068.MOT を、(CDドライブ):\H8_OS\CRT から 30XXCRT0.S をCソースのあるディレクトリにコピーしておく必要があります。コンパイル実行は、Cygwinのシェル上で以下のようにします。

> ./makerom ctrl
コンパイルが通れば、rom_ctrl.mot というファイルが生成されます。これがROM化ファイルです。

フラッシュに焼こう
出来上がったROM化ファイルをフラッシュに焼きます。まず、マイコンのディップスイッチをブートモード7に設定して電源を入れます。そしてH8WriteTurboを起動します。H8WriteTurboにはファイルの選択などのメニューはなく、書き込み方法はいたって簡単で、MOTファイルをこのH8WriteTurboウィンドウにドラッグするだけでOKです。

1分くらいで書き込みが完了しました。

実行してみよう
マイコンのディップスイッチをモード5にして電源投入。パソコンとシリアルでつなぎ、パソコンでTera Termを起動しておくと、ゲームパッドのボタン入力に応じてTera Termにアスキー文字が出力されるのが確認できました。