H8-GCCのセットアップ |
構築はKazu's Home Pageが作成されているパッチを使用させていただきました。H8関連は中にobjdirを作ってそこにオブジェクトファイルをまとめることを想定しているそうです。そうそう、他のWindows系のmakeとコンフリクトしないようにすることも忘れずに。
binutils
bunzip2 binutils-2.10.1.tar.bz2
tar xvf binutils-2.10.1.tar
cd binutils-2.10.1
patch -p1 < ../h8300-hms-binutils-2.10.1-2.patch
mkdir objdir
cd objdir
../configure --target=h8300-hms --prefix=構築したい場所
make
make install
ここでアセンブラ(h8300-hms-as.exe)のあるところにパスを通します。
gcc and newlib
tar xvzf gcc-2.95.2.tar.gz
tar xvzf newlib-1.9.0.tar.gz
cd gcc-2.95.2
ln -s ../newlib-1.9.0/newlib .
patch -p1 < ../h8300-hms-gcc-2.95.2-8.patch
mkdir objdir
cd objdir
../configure --target=h8300-hms --prefix=構築したい場所 --enable-languages="c,c++"
--with-newlib
make
make install
gdb
bunzip2 gdb-5.0.tar.bz2
tar xvf gdb-5.0.tar
cd gdb-5.0
patch -p1 < ../h8300-hms-gdb-5.0-4.patch
mkdir objdir
cd objdir
../configure --target=h8300-hms --prefix=構築したい場所
make
make install
ただし、注意点は
(1) もしAVR-GCCをセットアップしている場合は、なぜかアセンブラがavr-asとコンフリクトするので一旦AVR-GCCを構築したフォルダを全く別の所に移動させる
(2) GDBのコンパイル時にインクルードできないファイルがひとつあったのでそれを直す。
/gdb/vx-share/wait.hを/sim/h8300/にコピーする。
以上の手直しで構築できました。
感想 |
できたファイルを見るとlinuxの時より大きいじゃないですか?どうして?
とおもってH8上で走らせて見るとlinux構築時にでていたバグが直っているではないですか(linuxの時はなせかvsprintfでfloatを扱うと必ずマイナス符号がついていた)。おなじものを同じ方法でセットアップしたのにどうして?。(たとえばこんなプログラム)秋月のコンパイラは浮動小数点がきちんと使えないようなので、制御する私はgccを使っています。
このページには便利なツールやプログラムがたくさんあるので必見です。