ルネサス組み込み型モニタ

半田を入手したので早速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との通信がうまく行くか実験。