ルネサス組み込み型モニタ
半田を入手したので早速STK-7125+EVMを組み立て、モニタプログラムを書き込んでみる。
日立純正のHtermと組み合わせることで内部状態をリモートで知ることが出来る。
さらにRAMにダウンロードしたプログラムを実行することも可能。
デバッグに便利。
以下、モニタプログラムの製作法の覚書。
入手
ルネサスのサイトから、
トップ→半導体セミナ→サンプルプログラム→SuperHファミリ
と辿り、
- HEW3,HEW4(C/C++ Compiler Ver. 8.0以降)対応版 SH-2用 モニタプログラム
- モニタプログラム専用通信ソフト Hterm
をダウンロード。
コンパイルにHEW、および書き込みにFDTが必要なので必要に応じて入手。
カスタマイズ(ユーザーイニシャライズモジュール)
入手したモニタプログラム本体をSTK-7125にあわせてカスタマイズ。
ヘッダの変更
ヘッダをSH7125用に変更する。
PLLの設定
初期状態では全てのクロックが12MHzをPLLで8倍にした後、1/4する方法で供給されている。
SH2はコア50MHz、周辺40MHzまでのクロックが入力できるので周辺はそのまま、コアだけ周波数を上げる。
SH7125はソフトウェアでPLLの設定を変更できるためユーザーイニシャライズモジュール内でCPGモジュールのレジスタを変更し、コアクロックを8×1/2=4倍→48MHzに設定する。
CPG.FRQCR.BIT.IFC = 1;
ポートの設定
STK-7125EVMではRS-232インターフェースがPA15/14に接続されているのでPFC(ピンファンクションコントローラ)にてPA15/14をSCI1の入出力として設定する。
PFC.PACRL4.BIT.PA15MD = 6;
PFC.PACRL4.BIT.PA14MD = 6;
その他のカスタマイズ
ユーザーイニシャライズモジュールのカスタマイズが終わったらその他のカスタマイズに移る。
リンケージサブコマンドの変更
付属する説明書に従い、リンケージサブコマンドを修正する。
具体的には、
- LIBRARYを7125に変更
- BRRを38400bps(24MHz)用に13に設定
- ユーザスタックの初期位置をRAMの最後尾に設定
- VECTOR,ROM/0(ベクタとROMを連続して配置)
- RAM,USER/FFFFA000(モニタのRAMとユーザベクタを連続して配置)
- SCI/FFFFC080(SCI1を使用する)
printf,scanfの設定
printfとscanfをマニュアルに従い追加する。
焼きこみ
HEWでコンパイルした後、FDTを用いて焼きこむ。
焼きこんだら、モードを通常動作モードに切り替えHtermとの通信がうまく行くか実験。