78KマイコンUSBプログラマをリリース
先日の78KマイコンUSBプログラマの続きを行っています。
マスターからスレーブへの単純なコピーではなく、HEXファイルをダウンロードして動くようにしようと改良しようと思ったのですが、PM+が生成するHEXファイルは、下の図のように1行の長さが揃っていなくて、デコボコしています。
また、必要のない領域はスキップされてしまっています。

このようなHEXファイルを読み込んでROMに書き込むためには、16バイトや32バイトの境界にくるよう、データを整形しないと具合が悪いようでした。
78Kマイコンのプログラムの中で一度バッファしたりしてそのような整形をしようとも試みたのですが、RAM上で動くサイズ(2kバイト)よりも大きくなってしまいました。そういうわけで、78Kマイコンが直接HEXファイルを読むことはあきらめることにして、パソコン上でHEXファイルを一旦整形することにしました。
整形済みのHEXファイルは下の図のようになります。

プログラマ用マイコン基板と、ターゲット用マイコン基板のつなぎ方は次の図のようになります。

書き込みツールと、HEXファイル整形ツールは下記のURLにあります。
◆「csiwr0717.lzh」をダウンロード
※ このプログラムは無理に使う必要はりません。このプログラムはトラ技BIOSを外してオリジナルな起動プログラムを作りたい場合や、自作したUSBファームウェアを書き込んでみたい場合に使ってください。
※ このプログラムは一切無保証です。プログラムが書き込めなくても、ターゲット基板に回復不能なダメージを与えても一切責任を負いません。各自の責任でご利用ください
上のファイルの中にあるcsiwr.hexを書き込んで、実行します。

「整形済みHEXファイル(*.FHX)を送信してください.」と出たら、
先ほどつくったFHXファイルを送信します。
しばらくするとfinと出て、終了です。
ターゲット側のマイコン基板に電源を入れ(USBをつなぎ)、動作を確認してください。
書き込みには約30秒かかります。
書き込みには少々時間がかかりますが、その原因はUSBでデータを送るのが速すぎて、USBが詰まってしまうことにあります。私の環境では詰まるもののちゃんと書き込めましたが、他のパソコンでもうまくいくかどうかは分かりません。
うまくいかない場合はTeraTermのメインメニューで、[Setup] -> [Serial Port]を行い、1行送信ごとに1msの送信ディレイを入れるように設定してみてください。

| 固定リンク


コメント