Develop and Download Open Source Software

View h8300-elf toolchain

category(Tag) tree

file info

category(Tag)
root
file name
toolchain
last update
2002-05-21 00:12
type
HTML
editor
佐藤 嘉則
description
eCos/RedBootの構築に使用するh8300-elf toolchainの解説です
language
English
Japanese
translate

H8/300 ELFターゲットのクロス開発環境構築

eCos/RedBootは、COFF環境でのコンパイルはまったく考慮されていないので、 多少がんばったぐらいではコンパイルできません。
なので、h8300-elfのクロスコンパイル環境を構築します。

対応バージョン

gcc3.1以降
binutils2.12以降
gdb5.2以降
です。gccはこれ以前でも指定できますが、正式なサポートでは無いので、 3.1以降を使いましょう。
さらに、gccとgdbは正式リリースされていないので、スナップショット版が必要です。 すべて正式リリースされました。

コンパイル方法

configureのオプションは、h8300-hmsと同じです。

binutils

$ tar xzf binutils-2.12.tar.gz
$ cd binutils-2.12
$ ./configure --target=h8300-elf
$ make
$ make install

gcc

$ tar xzf gcc-3.1.tar.gz
$ cd gcc-3.1
$ patch -p1 < gcc-3.1-fix.diff
$ ./configure --target=h8300-elf --enable-languages='c,c++'
$ make
$ make install
標準のコンフィグレーションでは問題がある&cc1plusにバグ?があるので、 修正するためのパッチが必要です。プロジェクトページから拾ってください。 そのうちいらないようにしたいと思いますが。 g++も使うので必ず作ってください。ほかは好みで指定してください。
ちなみに、newlibは使っていないので問題があるかないか、わかりません。

gdb(おまけ)

$ tar xzf gdb-5.2.tar.gz
$ cd gcc-5.2
$ patch < gdb-20020303.diff
(リジェクトされるので、手で修正してください)
$ ./configure --target=h8300-elf
$ make
$ make install
CPU内蔵I/Oのエミュレーションパッチです。
eCosをシミュレータ上で動かさないのであれば不要です。
パッチはまだ作ってません。古いものをとりあえず置いておきます。時期はそれほどはなれていないので、 少し手を入れればとおると思います(希望的観測)。

使い方

これもprefixがh8300-elfになっている以外は、h8300-hmsと同じです。 ただし、オブジェクトファイルの互換性はまったく無いので、 ライブラリは再構築しないとだめです。

困った時は、h8300-elfをh8300-hmsと読み替えて調べれば、 大体の問題は解決できると思います。それぐらい違いはありません。


その他

あんまり書くことがありません。というぐらい同じです。 内部はいろいろ変わっているようですが。
gccがそろそろリリースされるはずなので、 リリースされたら、もう少し手を入れます。
リリースされたので、手を入れようと思いましたが、 思っただけで終わってしまいました。ごめんなさい。 相変わらず内容ありません。ほかの説明もあたってください。
Yoshinori Sato