2010-10-20
12ステップで作る組み込みOS自作入門 1ステップ目
はじめに
組込みの分野に就職し、知識不足を痛感する日々…。
そんなとき、「12ステップで作る組み込みOS自作入門」に出会った。
自作OS…なんと厨二な響き。
俺「OSッスかwww自作しましたけどwww」
上司に言ってみてぇ…
気がついたら、本とマイコンボードを購入しておりました。
分からないことばかりだけど、左遷回避のためにがんばるよ!
Cygwinのインストール
開発環境の選択肢として、いくつか選択肢があったんだけど、
自分はCygwinを選んだよ。
開発環境の選択肢として、いくつか選択肢があったんだけど、
自分はCygwinを選んだよ。
今あるWindows環境を壊したくなかったからだよ。ヘタレだね。
UNIXライクな環境なんて、
学部のときにFreeBSDでのサーバ構築に失敗して以来だよ…。
基本的に何もわかりません。
インストールには、下記のサイトにお世話になったよ。
Releaseフォルダのダウンロードに3時間以上かかった…
何これ常識?
失敗しない Cygwin の インストール [ Windows 7 編 ]
http://windowss7.web.fc2.com/special/cygwin/
このページを参考にさせて頂きました。
Cygwinのバージョンは1.7.7。
binutilsのインストール
binutilsは、本に載ってるのは2.19.1だけど、
自分は2.20を選択。
本どおりで問題なし。
H8/3069F付属CDのCygwinだと、
binutils-2.20はインストールが出来なかった気がする。
だから3時間もかけて、上記のCygwinインストール法をとった気がする。
そういうのきちんと記録しないと。。。
gccのインストール
4.5.1はインストールできず
gccも新しいほうがいいとおもって4.5.1をインストールしようと思うも、うまくいかず。
同じ階層(つまりカレントディレクトリがgcc-4-5.1)だと
ビルドできないという報告があったので、
/gcc-4.5.1/build/を作成したりした。
結果をまとめる。
カレント:
/gcc-4.5.1/build/
コマンド:
../configure --target=h8300-elf --disable-nls --disable-threads --enable-languadge=c
結果:
configure: error: building out of tree but . . contains host-i686-pc-cygwin. Use a pristine source tree when building in a separate tree.
備考:
本に書いてあったように--disable-werrorを付加しても、特に出力に変化はないように見える。
カレント:
/gcc-4.5.1/
コマンド:
./configure --target=h8300-elf --disable-nls --disable-threads --enable-languadge=c
結果:
*** This configuration is not supported in the following subdirectories: target-libmudflap target-libgomp target-libffi target-zlib target-libjava target-libada gnattools target-libstdc++-v3 target-libgfortran target-libobjc target-boehm-gc (Any other directories should still work fine.)
備考:
そのままmakeすると
configure: error: in `/usr/local/gnu/gcc-4.5.1/h8300-elf/libgcc':
configure: error: changes in the environment can compromise the build
configure: error: run `make distclean' and/or `rm ./config.cache' and start over
make[1]: *** [configure-target-libgcc] Error 1
make[1]: Leaving directory `/usr/local/gnu/gcc-4.5.1'
make: *** [all] Error 2
もう面倒くさくなって、gccは3.4.6でいいや、ってなった。
Cygwin操作
全てが初めてなので学ぶことが多い。
Tabキーによる入力補完。
ユーザー環境変数でHOMEを作成、
パスをいれるとCygwin起動時のディレクトリを指定できる。
もうほんとね、「そこからかよ!」って感じ。いろいろ。
