Installing h8comm

現在のところ, h8commはLinuxでのみ動作確認しています. 簡単なプログラム なのでポーティングはすぐできると思います. 不完全ながらCygwin32にも対応 してはおります.

展開

どこかのディレクトリでアーカイブを展開して下さい. 展開されるファイルは 以下の通りです.
Makefile
プログラム群をmakeで作成するためのものです.
config.h
h8comm ホストプログラムで使用される定数を定義したものです.
h83048addr.h
H8/3048F のレジスタのアドレスなどの定数が定義されています.
h8comm.c
ホスト側のプログラム本体です.
h8prog.S, writebyte.S
H8/3048FにロードされるROM書き込みプログラムです.
h8ram.x, h8rom.x
H8/3048Fのメモリ空間の定義などがされています. ldで使用されます.
romsmpl.c
H8/3048F用の簡単なテストプログラムです.

コンフィギュレーション

config.hには, h8commで使用されるパラメータのデフォルト値 が定義されています. 普通は書き換えなくても動きます。
DEFAULT_BOOTSTRAP_FILE
H8/3048FのROM書き込みプログラムのファイル名を指定します.
PROGNAME
プログラムの名前です.
DEFAULT_DEVICE
シリアルポートのデフォルトのドライブ名です.
また, 以下のパラメータはH8/3048Fでは固定なので変更しないで下さい. 他の デバイスを使用するときには変える必要があるかもしれません.
BOOTSTRAP_BAUDRATE_MAX
ブートストラッププログラム(最初にRAMにロードされるプログラム)を 送信するときのボーレートの最高値です. H8/3048Fでは9600で固定です.
MAX_BOOTSTRAP_PROGRAM_LENGTH
ブートストラッププログラムの大きさの最大値です.
MAX_ROM_PROGRAM_LENGTH
プログラムROMの大きさです.

コンパイル

config.hに色々書かせておいて何なのですが, 一応configureも 作ってあります. --prefixなども使えるはずです.
configure --target=h8300-hms
make all
でコンパイルできます.

make install
で, プログラムを/usr/local/binに, 関連ファイルを /usr/local/lib/h8にコピーします. このディレクトリは configureのオプションで変えられるはずです.(あまり試していないけど)

実行

h8commの使い方はh8comm.htmlをご覧下さい.

Cygwin32で使う場合の注意

h8commは, 強制終了以外の方法で途中終了できません. Linuxの場合は強制終 了の時に自動的にシリアルポートを閉じてくれるのですが, Windowsではそん なことはしません. また, h8commにはタイムアウトはありません.

その結果, Windowsでは, うまく行かなかった場合にh8commが終了しないこと があり, このときCtrl+Alt+Delで強制終了させるとその後再起動するまでシリ アルポートが使えなくなります.


Muneyuki IWATA
Last modified: Mon Feb 21 08:17:22 JST 2000