最近はR8Cをちょっといじってます。
ある仕事でM16CのプログラムをR8Cへ移植を行っているが。。ウオッチドッグ制御ではまりました。。汗)
R8Cのハードウエアマニュアルを斜め読みした俺が悪いんだけど。。ウオッチドッグ制御(リセット後にカウントするかどうか)のレジスタがフラッシュROM領域の最後。。0ffffhに割り当ててあるけど。。ここはリセットベクター
のエントリポイントなんです。。
プログラムを動かすとすぐにリセットがかかる。。でもステップ実行ではどこまでも動作するんだな。
予期しない割り込があるのかな??ウオッチドッグは使ってないし~~と思っていました。。汗)
よくよくマニュアルを読むとウオッチドッグ制御のレジスタが0ffffhにあり値00hでウオッチドッグが動作して
ゼロになったら即リセットなんだって。
になってしまうのだ。。汗)
解決策はアセンブラの
.lword _start
を
.lword 0ff004000h
にした。。(暫定)
.lword _start + 0ff000000
でも良かったかも。。
結論。。マニュアルはよく読みましょうね。。汗)
R8C ウォッチドッグ制御