モニタの機能は大まかには以下の通りです。
日立ではモニタプログラムであるHTERMをコンパイルした状態で配布していま すので、このままでも使用できます。ならばカスタマイズがなぜ必要なのでしょ うか?理由は次の通りです。
材料は基本的にネット上でフリーで手にはいるものと、トラ技01年06月号で入手 できるものです。
| 名前 | 説明 | 入手元 |
|---|---|---|
| コンパイラ | 日立の試食版 | 日立セミコンで配布しているが、 トラ技付属の物を使用 |
| モニタのソース | 日立で配布しているサンプル | 日立セミコンより |
| OS | Win | - |
| F-ROMライタ | MDI版HTERM | 日立セミコンより |
| 書込制御プログラム | 北斗電子HSB7045の書込制御プログラム | トラ技より入手。 |
HTERMのソースの中のバッチファイルを見ると、見たことの無いコマンドがあります。実はこれ、HEW(Hitachi Embedded Workshop)の5.1以前専用のコードです。今回使用する試食版との差は
それを可能としたのが、 濱原氏です。私の方法も基本的に濱原氏の方法に乗っ取っております。
濱原氏はmakefileを作成し、CYGWINなどのmakeコマンドによってコンパイルする方法でライブラリアンを使用しない様にしております。私はCYGWINをいれるのが面倒という理由で、バッチファイルを用いる方法を取りました。windowsに痕跡を残さないという点で非常にクリーンな方法です。
詳細は大体の流れと、makeを使用しない場合の手順を紹介致します。
ここでは、コピーだけでOKです。パスの設定などはバッチファイル内で行い ます。
コンパイルする方法としてはDOSのバッチ処理で行います。 これをHTERMのソースと一緒に置いて、パスを設定して実行すればOKです。
REM ---------------------- コンパイル ------------------ set SHC_LIB=c:\hew\bin set SHC_INC=c:\hew\include set SHC_TMP=c:\windows\temp SHC -CPU=SH2 monitor.c for %%i in (shsrc\*.src shtip\7040\*.src shmod\*.src shint\*.src shdmy\*.src shcmd\*.src) do asmsh %%i REM ----------------- subファイルの作成 ------------------ echo ; < temp.txt for %%i in (shsrc\*.obj shtip\7040\*.obj shcmd\*.obj shmod\*.obj shint\*.obj shdmy\*.obj) do echo INPUT %%i << temp.txt echo INPUT monitor.obj << temp.txt echo ENTRY INT000>>temp.txt REM BRR=0x16 for 38600 BPS @ 28.646MHz echo DEFINE $BRR(16) << temp.txt echo DEFINE $STACK(0) << temp.txt echo PRINT monitor.map << temp.txt echo OUTPUT monitor.abs << temp.txt REM RAMはモニタで使う領域 REM USERはユーザのベクタの領域(+0x27fまで) REM SCIは使うBBRの位置 echo START VECTOR(0),ROM(280),RAM(0FFFFF800),USER(0FFFFFA00),SCI(0FFFF81B0) << temp.txt echo EXIT << temp.txt REM --------------------- リンク ------------------------ lnk /sub=temp.txt
日立コンパイラの試食版で作られるのは独自の形式であり、書き込むためにはHTERMを用いることしかないらしいです。HTERMを用いる場合には、CPUに適合した書き込み制御プログラムが必要です。ここではトラ技に付属していたHSB7045用のものを使用しました。手順は以下の通りになります。