- 締切済み
H8 3052Fのモニタープログラムが動きません
H8の3052F(秋月)のモニタープログラムについて教えて下さい。 以下のURLの[準備編へ] [設定編へ] [作成編へ] [実行編へ] [HTerm編へ]を参考に行いました。(MONITOR.MOTはH8WriteTurboソフトでROM書きしました。) http://uhiro.fc2web.com/software/monitor01/index.html 次にHEWのC言語で作成したプログラムをビルドすると、Debugフォルダーの中にMOTファイルができたので、これをHtermでロードしたところ下のようなメッセージが表示されます。 : L Top Address=00000 End Address=008AD : 正常な場合は、Top Address=FE000になると思うのですが、 上記のアドレスになってしまいます。 (G 00000やG FE000としても実行されません。) HEWのビルドを行う前には何も設定をしていないのですが 何か行う必要があるのでしょうか? 初心者のためプログラム自体に問題があるのかもしれません。 よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kent85
- ベストアンサー率52% (38/73)
3052Fはさわったことがありませんが… L は転送でしたよね? G 00000やG FE000 としても、そこにプログラムコードが転送されていないと絶対に動きません 試しに 00000/FE000 の番地をメモリダンプさせてみればいいです。 例えば、00 で空だったら、そこのアドレスからは何も実行できません。 00000 がROM領域などで書き込み不可領域なら書き込もうとしても出来ません。 -- たぶんですが、Hew上で設定するアドレス設定ミスです。 ・Hewでプロジェクトを作成するときにCPU/Clockを合わせること ・最適化リンカのセクションをきちんとすること ROM領域ではなく、RAM領域に転送するはずなので設定を合わせる 3048Fの例ですけど、こんな感じです。 http://wave.iobb.net/doc/summary/h8wiki/wifky.cgi?p=HEW%A4%C7AKI-H8%2F3048F%A4%CE%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0 -- たぶん、PResetPRG のアドレスが FE000(RAM) で G FE000 として 実行をかけたいのではないかなと思います。 ちみなにmain() は、P Section の中に入っているはずです。 後は、細かくなってしまいそうなので…
お礼
URLを参考にして、最適化リンカのセクションを FE000以降に変更したところ動作しました。 これで色々できそうです。 ありがとうございました。