#~開発環境の構築~
- 初めに
- 自己紹介
- 仕事:家電製品の設計(主にnonOS白物家電の組込みプログラム開発)。
- プログラム歴:学生時代はほとんど興味なく、会社に入ってからC言語を学習。
(高度なプログラムは書けず、センスのなさを痛感しています) - 仕事で使っている言語:C言語
- その他個人的に学習した言語:C#、Java、JavaScript、HTML、PHP、python
- 組込みOSを自作しようと思った動機:普段の開発ではルネサス等の統合開発環境、コード生成を使用しており、マイコンのスタートアップ等ハードウェアに近い部分の知識が不足していると感じたから。
- 参考書の選定
「坂井弘亮氏著(カットシステム出版) 12ステップで作る 組込みOS自作入門」で学習を進めていく。
実はこの本、学習基板と合わせて3年ほど前に買っていたのだが、ほぼ使用することなく放置してしまっていた。
- 開発環境の構築
linux環境でもよいが、今回はWindows環境で開発を行う。
- Cygwinのインストール
windowsPCでgccを利用するため、Cygwinをインストールする
- cygwinのインストール
- apt-cygのインストール
パッケージ管理ツールのaptをインストールする。
aptのインストール
$ wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
$ chmod 755 apt-cyg
$ mv apt-cyg /usr/local/bin/
- binutilsのインストール
PCでH8マイコン用の開発をするため、下記gccと合わせてクロスコンパイル環境を構築する。
- ミラーサイトからおbinutilsをダウンロードして保存する。http://core.ring.gr.jp/GNU/
- Cygwinのプロンプトにてダウンロードフォルダへ入ってbinutilsを解凍し、H8用にビルドを行う。
64bit 環境だと、Makefileが64bit環境に対応していないので、以下のように--build
オプションで指定するらしい。
- ビルドできたらmake installを実行する。
binutilsのインストール
$ tar xvzf binutils-2.22.tar.gz
$ ./configure --target=h8300-elf --build=x86_64-unknown-cygwin --disable-nls --disable-werror
$ make
$ make install
- gccのインストール
binutilsと同様にミラーサイトからgccをダウンロードし、展開、H8用にインストールする。
※configureの途中でGMP, MPFR, MPCなるものが必要と言われたので、それもダウンロードしインストールする。その前にm4というのも必要らしい。
prefixオプション等が正しいかは不明... linux勉強不足です。。
m4のインストール
$ apt-cyg install m4 m4-doc
GMPのインストール
$ tar -xvf gmp-6.1.2.tar.xz
$ cd gmp-6.1.2
$ ./configure --prefix=/usr/local/ --build=x86_64-unknown-cygein --disable-static --enable-shared
$ make
$ make install
MPFRのインストール
$ tar -xvf mpfr-4.0.2.tar.gz
$ cd mpfr-4.0.2
$ ./configure --prefix=/usr/local/ --with-gmp=/usr/local
$ make
$ make install
gccのインストール
$ tar xvzf gcc-3.4.6.tar.gz
$cd gcc-3.4.6
$ ./configure --target=h8300-elf --build=x86_64-unknown-cygwin --disable-nls --disable-threads --disable-shared --enable-languages=c