[秋月H8-3069]H8/OSを焼いてみる。
秋月「H8/3069Fネット対応マイコンLANボード」
http://akizukidenshi.com/catalog/g/gK-01271/
をいじってみる。
■LEDチカチカ > 断念
付属の説明書(紙っぺら)を見たら、LEDチカチカしてみよう、などと
書いてあったので、説明書通りにCソース書いてコンパイルしてみる。
コマンドも説明書通りだが、まず「h8300-hms-gcc.exe」が無い。
CygwinデータもCD-ROMにあったが、既に新しいの入っているので、
古いのは使いたくない。
悩んだ結果、h8300-hms-gcc.exeが入っているtar.gzをCD-ROMから
取って来て、展開して使う事に。
必要なファイルも置いて、以下コマンド実行。
しかし、スタートアップルーチンのアセンブラが認識出来てない。
分かりそうな、分からない状況。とりあえず保留。
> h8300-hms-gcc.exe -O -mh -mint32 -T rom.3068.x -o blink.coff -nostartfiles 30xxcrt0.S blink.c -lc
*Initialization*:1: warning: `__SIZE_TYPE__' redefined
*Initialization*:1: warning: `__PTRDIFF_TYPE__' redefined
30xxcrt0.S: Assembler messages:
30xxcrt0.S:1: Error: unknown pseudo-op: `.h8300h'
30xxcrt0.S:5: Error: no such instruction: `mov.l '
30xxcrt0.S:6: Error: no such instruction: `mov.l '
30xxcrt0.S:7: Error: no such instruction: `mov.l '
30xxcrt0.S:8: Error: no such instruction: `mov.l '
30xxcrt0.S:10: Error: no such instruction: `mov.w @er0,r3'
30xxcrt0.S:11: Error: no such instruction: `mov.w r3,@er1'
30xxcrt0.S:12: Error: number of operands mismatch for `add'
30xxcrt0.S:13: Error: number of operands mismatch for `add'
30xxcrt0.S:14: Error: no such instruction: `cmp.l er2,er1'
30xxcrt0.S:15: Error: no such instruction: `blo .mvdata'
30xxcrt0.S:16: Error: no such instruction: `jsr @_main'
30xxcrt0.S:17: Error: no such instruction: `bra _start'
*Initialization*:1: warning: `__SIZE_TYPE__' redefined
*Initialization*:1: warning: `__PTRDIFF_TYPE__' redefined
blink.c:1: invalid macro name
blink.c:2: invalid macro name
blink.c:2: warning: `' redefined
blink.c:1: warning: this is the location of the previous definition
■H8/3069のフラッシュROMにH8/OSの本体を書き込む。(CD-ROMデータ使用)
まずは失敗例。Webで経験者HP見て、CD-ROM内のデータを以下で
焼き込めるはずと思ったら・・・
> h8write.exe -3068 -f20 plus3068.mot
→ 「-1-」とだけ画面に出て、そのまま固まる。
「-3068」オプションは「-3069」の間違い。
でも説明書にはこう書いてあったのに・・・
後述の成功例で参考にしたHPで「-3069」が正しいと気付く。
> 同じようなコマンドでなんかやったら、以下が出た。
H8 data 80 ignore!
> h8write.exe -3069 -f20 plus3068.mot
→ これやると固まる。最後の引数でポートcom5の指定が無い。
成功したのは以下HPの通りにやった場合。
http://in-the-moonlight.hp.infoseek.co.jp/h8/hardware_check.html
・ボード上DIPスイッチはON,ON,OFF,ONにして、Flash書き込みモード。
※ DIPスイッチ変更時は一度電源を落としてから。
・USB to RS232ケーブルをボードに付け、PCのUSBポートへ。(COM5で認識)
・ACアダプタ接続 > 一瞬LEDが点灯。
・付属CD-ROMの中の、
\windows\h8write.exe
\h8_os\plus3068.mot
を適当なディレクトリにコピーする。
・HPに従い以下を守る。
* 念のため、マイコンボードのリセットスイッチ(SW2)を押す。
* COMポートを使用中のプログラムがあれば、全て終了させる。
・DOSプロンプトから以下実行するはずが、間違ってCygwinで実行。しかし成功。
> h8write.exe -3069 -f20 plus3068.mot com5
H8/3069F is ready! 2002/5/20 Yukio Mituiwa.
writing
ingore record
............(本当はドットがもっと続く)
EEPROM Writing is successed.
・ボード上DIPスイッチはON,OFF,ON,OFFにして、ROM動作モードへ。
※ DIPスイッチ変更時は一度電源を落としてから。
・TeraTermを開き、以下設定。
COM5
57600 bit/s
8データビット
パリティなし
ストップビット=1
フロー制御=ハードウェア
・リセット(SW2)を押す。
すると、TeraTermに
Welcome to the H8 Monitor!!
H8/OS >
■ネットワーク動作確認
・LANケーブルでボードとPCを繋ぐ。 > LED3が点灯。
・PCネットワーク設定を以下にする。
IPアドレス 192.168.0.10
サブネット 255.255.255.0
・付属CD-ROMの中の、
\windows\put.exe
\h8_os\httpprog\http.mot
を 適当なディレクトリにコピーする。
・HPに従い以下を守る。
* 念のため、マイコンボードのリセットスイッチ(SW2)を押す。
* COMポートを使用中のプログラムがあれば、全て終了させる。
・以下でプログラムをロード。
> put.exe http.mot com5
ffde40 10 5E FF E0 5C 54 70 01 00 6D F6 0F F6 7A 37 00 00
ffde50 10 01 54 01 00 6D F4 01 00 6D F5 01 00 6F E1 FE C4
ffde60 10 7A 20 00 00 00 01 58 60 01 A4 1A 91 89 FF 7A 02
ffde70 10 FF FF FF 00 0A E2 0F A0 01 00 6B 22 00 00 01 A4
※ ここまで行って、固まった。原因不明。