2006/05/19
■ [linux][h8] gccクロス開発環境構築
H8tiny用のgccクロス開発環境を構築する、binutils-2.16.1,gcc-3.4.6,newlib-1.14.0 の組合せ。 gccはc++を指定するとエラーになるのでcのみ、c++も使う場合はgcc3.4.3で構築。
binutils
$ cd binutils-2.16.1 $ mkdir work $ cd work $ ../configure --target=h8300-hms-coff --prefix=/usr/local/h8 $ make CFLAGS="-O2" all # make install $ PATH=/usr/local/h8/bin:$PATH
gcc
$ cd gcc-3.4.6 $ mkdir work $ cd work # ../configure --target=h8300-hms-coff --prefix=/usr/local/h8 --enable-languages="c" -with-newlib \ --with-headers=/home/kyo/gcc/newlib-1.14.0/newlib/libc/include # make CFLAGS="-O2" LANGUAGES="c" # make LANGUAGES="c" install
newlib
$ cd newlib-1.14.0 $ mkdir work $ cd work $ ../configure --target=h8300-hms-coff --prefix=/usr/local/h8 $ make CFLAGS="-O2" all # make install
古いバージョンのgcc用のソースがコンパイルエラーが出る場合があるので
- 3664crt0.Sでアセブラがエラーを吐く、疑似命令.h8300h => .h8300hnへ、sp => er7 に書き直す
- リンカースクリプトの OUTPUT_ARCH("h8300h")をh8300hnに直す
成松宏氏のブログより