May 11, 2004

H8用gccの作成(リベンジ)

以前、H8用gccの作成を失敗しましたが、最近とある事情でH8の開発環境を作らねばならなくなったので、再チャレンジしてみました。

でっ、できました!!コンパイル時間、3時間近くかかって(P4-2GHz)。

前回の敗因は、組み合わせるnewlibのバージョンがよくなかったようです。gcc-3.3.2に対してはnewlib-1.11.0の組み合わせでコンパイルがとおります。gcc-3.4だとnewlib-1.12.0なのかもしれません。

前回はCコンパイラだけしかターゲットにしていませんでしたが、今回はC++コンパイルも作ってみました。また、newlibのヘッダでコンパイラをコンパイルし、生成オプションをh8300-hmsからh8300-elfに変更。手順はほぼ前回と似ているのですが、手順を続きに載っけておきます。

順序としては、
(1)binutil-2.14のビルド&インストール
(2)gcc-3.3.2のビルド&インストール
(3)newlib-1.11.0のビルド&インストール

(1)binutilのビルド&インストール
binutilのソースをダウンロード、展開後に以下の操作。(binutilは/usr/local/src/binutils-2.14に展開されたとする)

$ cd /usr/local/src/binutils-2.14
$ ./configure --target=h8300-elf
$ make
$ make install

(2)gccのビルド&インストール
gccnewlibのソースをダウンロード、展開後に以下の操作。(gcc、newlibの展開先は、例えば/usr/local/src/gcc-3.3.2/、/usr/local/src/newlib-1.11.0/)

$ cd /usr/local/src/gcc-3.3.2/
$ mkdir BUILD
$ cd BUILD/
$ ../configure --target=h8300-elf --enable-languages="c++" --with-newlib --with-headers=/usr/local/src/newlib-1.11.0/newlib/libc/include
$ make LANGUAGES="c c++"
$ make install

(3)newlibのビルド&インストール

$ cd /usr/local/src/newlib-1.11.0/
$ mkdir BUILD
$ cd BUILD/
$ ../configure --target=h8300-elf
$ make
$ make install

その後、一連の処理を自動化したMakefileを作成しました。詳しくはここをどうぞ。

18:34 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/254
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。