人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ファイル変換(ELFファイル)

下記サイトに従いToppers/JSP動作させようと思っております。

http://www.yumi-chan.com/mitron/jsp-sh7262.html


最終的にできたファイルは、
*.bin、*.exe、*.syms、そして*.bin
となります。

*.elfがほしいのですが、その手順をご教授ください。
・Makefileを書き換える必要があるのでしょうか?
・もしくは、何かしらのファイル変換ツールが必要なのでしょうか?


また、これらファイル群(*.bin、*.exe、*.syms、そして*.bin、他)の
意味、使用ケースを紹介したサイトがあれば、合わせて教えてください。

よろしくお願いします。

●質問者: futurista
●カテゴリ:コンピュータ 学習・教育
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● TransFreeBSD
●80ポイント

・もしくは、何かしらのファイル変換ツールが必要なのでしょうか?

一応、objcopyと言うのがあって、変換できるようです。

objcopy -O sh-hitachi-elf hoge.bin hoge.elf

*.elfがほしいのですが、その手順をご教授ください。

Makefileが*.elfを作れるようになっているなら、

make hoge.elf

などで、hoge.elfが作られるはずです。

ただ、質問にあるリンク先のページを読むと、sh-hitachi-elfってあるので、そのままでelf形式になってる気がするんだけど。

出来ているファイルをreadelfやobjdumpで見てみたらどうでしょうか?

readelf -h hoge.bin
objdump -f hoge.bin

参考

・Makefileを書き換える必要があるのでしょうか?

前記の方法で出来ないなら、たとえばgccのオプションに「-b sh-hitachi-elf」を付けるなど、書き換える必要があるのかもしれません。

しかし、クロスコンパイル環境なわけですし、configureでつけてくれる気がするのだけど、もしかしたらconfigureにオプションがあるのかもしれません。

あと、リンカがelfを出力するように「-Wl,--oformat,elf32-hoge」と付ける手もあるかもしれませんが、それでまともに動くのかはしりません。

「elf32-hoge」というのは実際にはobjdump --helpに出てくる一覧の内の一つで、一口にelfと言っても色々あるらしいです。

参考

また、これらファイル群(*.bin、*.exe、*.syms、そして*.bin、他)の

意味、使用ケースを紹介したサイトがあれば、合わせて教えてください。

*.binは一般にバイナリファイルを表します。ここではflashROMに書き込むファイルとなるようです。

*.exeは一般にDOS/Windowsの実行ファイルを表します。しかし、今回のがWindowsで実行できるかは知りません。たんにPE形式のファイルと言うだけかもしれません。

*.symsはおそらくデバッグ用のシンボルファイルだと思われます。


[追記]

ふと気が付いたのですが「最終的にできたファイル」というのは

ですか?だとしたら、jsp.exeはToppers/JSPエミュレータのような気がします。


2 ● みつ
●20ポイント

TOPPERS/JSPは標準でELF形式のファイルを出力するようになっていますので,Makefileを変更せずにビルドを走らせて生成したjspがELF形式のファイルになります.

bin,exe,symsのファイル形式についてはTransFreeBSDさんが説明されている通りです.

他にもsrec(Sレコード)形式にする場合などもあります.

http://kuwa.s256.xrea.com/h8-toppers/index.html

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ