皆様初めまして、大津と申します。
トラ技に感化されて、HEWを利用しH8-3664Fをターゲットとした
C言語による開発をしています。
何とかシミュレータの設定をし、デバッグさせることはできたの
ですが、デバッグ時のHEW上でのローカル変数の値がおかしいのです。
どうおかしいかというと、シミュレータにロード後、
ローカルウインドウではその変数の割り当てアドレスが表示され、
そのアドレスの値が表示されているのですが、デバッグ実行しても
値は一行に変化しませんでした。
実際にステップ実行し、メモリダンプで様子を見ると、
実はその変数は別のアドレスに割り当てられて動作している
ようなのです。(この時のアドレスのずれは5バイト程度です。)
またC/C++コンパイラの最適化をオフにすると、この現象は
出なくなり、ローカルウインドウのアドレス/値表示と
動作時の変化が一致しました。
なお変数の定義はvolatileとし、unsigned charとunsigned intの
2つを定義してみましたが、ともにずれてしまっていました。
こういうものなのでしょうか?それとも設定ミスでしょうか...
この現象について何かご存じの方、お手数ですがご教授ください。
+-------------------------------+
大津 健(Takeshi Ohtsu)
ohtsu-t@xxxxxxxxxxxxxxxxx
+-------------------------------+