組み込みOS自作入門勉強会(1)

Sakai Hiroaki's Home Pageを読み始めた。読書メモを残していく。まずは1stステップ。このステップのメインはクロスコンパイラ環境の構築である。当初、MacOSXでやろうとしたもののgccコンパイルがうまくいかずに断念。そのため環境は Ubuntu10.04 on VMware Fusion とした。

binutilsのインストール

$ wget http://core.ring.gr.jp/pub/GNU/binutils/binutils-2.19.1.tar.gz
$ tar xzvf binutils-2.19.1.tar.gz
$ ./configure --target=h8300-elf --disable-nls
$ make
$ sudo make install

gccのインストール

H8マイコンで実行できるバイナリを生成するために、gccをH8マイコン用のクロスコンパイラとしてコンパイルする。

$ wget http://core.ring.gr.jp/pub/GNU/gcc/gcc-3.4.6/gcc-core-3.4.6.tar.gz
$ tar xzvf gcc-core-3.4.6.tar.gz
$ ./configure --target=h8300-elf --disable-nls --disable-threads --disable-shared --enable-languages=c

このままビルドするとエラーがでるので、一部修正する。

$ vi gcc/collect2.c
-redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT);
+redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, 0755);

これでビルドが通るようになるのでmake.

$ make
$ sudo make install

以上でクロスコンパイラ環境構築は終了。