H8クロスコンパイラ環境作り

学生の制御系実験のためのcygwin+gcc+h8 環境

最初にCygwinにて、クロスコンパイラを作るための環境として、 gcc,binutils,make,flex,bison,byacc,autoconf 等を導入しておく。 以下は、これらを用いてクロスコンパイラを作るまでの手順をまとめる。 ただし参考サイトの情報を元に実行した手順をメモしただけ。
クロス開発環境を作る。ターゲットは、H8/3664 なので、gcc のバージョンに よっては、3664のノーマルモードで、引数の後ろが正しく渡されない トラブルがあるらしい。この問題が、gcc-3.3 にて解決されているとの情報を元に、 gcc-3.3 をベースに構築する。 ソースgcc-3.3.2.tar.gz , binutils-2.14.tar.gz , newlib-1.11.0.tar.gz は、 以下のサイトから取り寄せる。

binutilの構築

$ tar zxvf binutils-2.14.tar.gz
$ cd binutils-2.14
$ mkdir build
$ cd build
$ ../configure --target=h8300-hms --prefix=/usr/local/h8
$ make
$ make install
$ cd ../..

gccの構築

$ tar zxvf gcc-3.3.2.tar.gz
$ tar zxvf newlib-1.11.0.tar.gz # gcc のコンパイル時に必要なので先に展開
$ cd gcc-3.3.2
$ mkdir build
$ cd build
$ ../configure --target=h8300-hms --prefix=/usr/local/h8
  --enable-languages=c --with-newlib
  --with-headers=/home/t-saitoh/h8cross/newlib-1.11.0/newlib/libc/include
$ make
$ make install
$ cd ../..

補足:

gcc-3.3のコンパイル時に、configure で、--enable-languages=c を付けずに、 make LANGUAGES="c" を実行した場合に、『exception mode が解らない』 とか言われて、コンパイルに失敗した。

newlibの構築

$ cd newlib-1.11.0
$ mkdir build
$ cd build
$ ../configure --target=h8300-hms --prefix=/usr/local/h8
$ make
$ make install
$ cd ../..

出来上がったクロスコンパイラ環境

出来上がった、binutils,gcc,newlibをcygwinのtarで固めたもの。
インストールする際には、Cygwin環境にて、
$ cd /
$ tar zxvf h8300-hms-cygwin-i686.tar.gz(16MB)

関連リンク


Tohru Saitoh
Last modified: Fri Jan 30 16:46:51 JST 2004