- ベストアンサー
H8のダウンロードで、拡張しmapファイルでダウンロードすべきバイナリの番地はわかる?
以前、H8マイコンでプログラムをしていたテスト機があるのですが、そのバイナリファイルは持っているのですが、どこの番地に書き込めば良いのかわからなくなってしまいました。確か0番地に書き込めば良かったと思ったのですが、うまく以後いているのか判断できません。開発は日立のHEW環境で行っています。メモリのどこに関数のポインタなどの情報が入っているmapファイルは持っているのですが、このファイルからbinファイルをどこに書き込めば良いかということはわかるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Q1.どこの番地から書けばよいか?(.binファイル?) A1..binファイルにアドレス情報も入っていると思います。 Manpage of objcopy のbinary指定で作るみたいですね。 http://www.linux.or.jp/JM/html/GNU_binutils/man1/objcopy.1.html Q2.うまく動いているか確認できない。 A2.HEWのシミュレータで動かしてみてもいいかも ハードウエアがないと動かない部分もありますが、スタートアップ等 数ステップ動くかどうかは確認できるように思います。 Q3.mapファイルからbinファイルの割付ができるか A3.できません。
その他の回答 (1)
- R32C
- ベストアンサー率39% (115/290)
mapファイルは、プログラムのロケーションを(シンボルのロケーションも)示します。 ロードモジュールには、ロードに必要なデータとそのアドレスが入っています。 さらにデバッグ中であれば、ロードモジュールにデバッグに必要な シンボル情報などが含まれます。 >mapファイルはプログラマーの方たちにとってはどのように利用しているのでしょうか。 あまり利用する機会は少ないですね。 プログラムが正しくロケーションされているのを確認する手段の一つでは あります。 >どこのメモリ領域にプログラムが位置しているのかということを把握する必要 >というのはでてくるのでしょうか? 把握してプログラミングするのが一般的です。 というより、プログラマは、どこに配置するかをリンカー(正確にはロケーター)に指定 します。mapファイルを見るのは指定どおりにロケートされているかを 確認できます。
お礼
回答ありがとうございました。 mapファイルからどのようなことがわかるかが何となくですが、わかった気がします。 mapファイルはプログラマーの方たちにとってはどのように利用しているのでしょうか。やはり、どこのメモリ領域にプログラムが位置しているのかということを把握する必要というのはでてくるのでしょうか?