展開、コンパイル、書き込み

UNIX系の環境(cygwinとかでも可)とH8用のgccが設定されていることを前提としている。
この文書は不親切で情報量が少ない。出来れば誰か書き直して〜

展開

もし手にいれたファイルが.lzhファイルなら、展開するのは難しくないはずだ。 .tar.gzならシェルで次のように入力する。

 $ tar zxvf monitor-1.2-3069.tar.gz
$はシェルのプロンプトだから入力する必要はない。 うまく行けば、大量に文が出力されてmonitor-1.2-3069なるディレクトリが作られる。 中には色々なファイルがあるはずだ。大抵はテキストファイルなので、terapadとかで覗いてみるといい。

3069S.H

3069S.H(H8/3069用のレジスタ定義ファイル)はライセンスの関係上、ここに含めることが出来ない。 ルネサスのサイトからH8/300H用のヘッダファイルをダウンロードして、その中に含まれる3069S.Hをmonitor-1.2-3069/include/にコピーする。

このヘッダファイルはint型が16bit幅であることを仮定しているので、そのままではgccで-mint32オプション(int型を32bit幅に変更)を指定すると誤動作することがある。

各自エディタなどで"unsigned int"を"unsigned short int"に置換する必要がある。

標準関数にはint型を32bit幅と仮定している物が多いらしく、-mint32オプションをつけないと誤動作することが多いらしい。モニタや全てのサンプルプログラムでは-mint32オプションが付けられているので、この変更は必ず行なうこと。

コンパイル

gcc等のツール群の設定が完璧なら、モニターが展開されたディレクトリに移動してmakeすればよい。 以下のように入力する。

~$ cd monitor-1.2-3069/      (←展開したディレクトリに移動)
~/monitor-1.2-3069$ make     (←コンパイル)

大量の出力が出てコンパイルが完了するはずだ。エラーが出ないようにお祈りしよう。

/usr/local/bin/h8300-hms-gcc -mh -Wall -mint32 -g -O2 -c monitor.c -o monitor.o
/usr/local/bin/h8300-hms-gcc -mh -Wall -mint32 -g -O2 -c int.c -o int.o
/usr/local/bin/h8300-hms-gcc -mh -Wall -mint32 -g -O2 -c sio.c -o sio.o
/usr/local/bin/h8300-hms-gcc -mh -Wall -mint32 -g -O2 -c misc.c -o misc.o
/usr/local/bin/h8300-hms-gcc -mh -Wall -mint32 -g -O2 -c sbrk.c -o sbrk.o
/usr/local/bin/h8300-hms-gcc -mh -Wall -mint32 -g -O2 -c write.c -o write.o
/usr/local/bin/h8300-hms-gcc -mh -Wall -mint32 -g -O2 -c read.c -o read.o
/usr/local/bin/h8300-hms-gcc -mh -Wall -mint32 -g -O2 -c reset.c -o reset.o
/usr/local/bin/h8300-hms-ld startup/romcrt0.o monitor.o int.o sio.o misc.o sbrk.o 
write.o read.o reset.o -Map monitor.map -Tldscript/3069.x -O2 -mh8300h -nostdlib 
-relax  -lm -lc -lgcc  -L/usr/local/lib/gcc-lib/h8300-hms/3.2.1/h8300h/int32 -L/u
sr/local/h8300-hms/lib/h8300h/int32  -o monitor.coff
/usr/local/bin/h8300-hms-size -Ax monitor.coff 
monitor.coff  :
section       size       addr
.vectors     0x100        0x0
.text      0x16e00      0x100
.data        0x740   0xffef20
.bss         0x318   0xfff660
.stack         0x0   0xffff1c
.monwork       0x0   0x400000
Total      0x17958


/usr/local/bin/h8300-hms-objcopy -v -O srec monitor.coff monitor.mot
monitor.coff(coff-h8300) から monitor.mot(srec) へコピーします
~/monitor-1.2-3069$ 

といった感じだとコンパイル終了だ。(メッセージの細部は異なるかも知れない)
エラーが出たら最寄りの生き字引に相談して欲しい。(その後、この文書を改善するのを忘れないように!)

書き込み

H8を買った時にマニュアルがついてきたと思う。それに従う事。 作成されたmonitor.motが書き込むべきファイルだ。

もしも付属ソフト無しのH8を購入したのなら みついわゆきおさんのページにあるOpen SH/H8 writerを使わせてもらう。


H8モニターのページへ