WSL環境で組込み自作OSに挑戦(環境構築)
「12ステップで作る 組込みOS自作入門」という名著があり、この本に基づいて組込みOSの自作に挑戦していきたいと思います。環境は本には載っていないWindows Subsystem for LinuxのUbuntuを使います。
まずは環境構築をしていきます。
binutils
binutilsのインストールを行う。
binutilsは最新版を利用するとビルドエラーが起きるため、
本と同じbinutils-2.19.1を使用する。
Web上ではすでに「binutils-2.19.1.tar.gz」がなかったため、「binutils-2.19.1.tar.bz2」をダウンロードした。
格納したディレクトリ内で下記コマンドを実行し解凍する。
% tar xvf binutils-2.19.1.tar.bz2
次に、下記コマンドを実行する。
% ./configure --target=h8300-elf --disable-nls --disable-werror
終了したら、makeコマンドを実行する。
% make
ビルドが通ればおそらくOK。
続けて、インストールを実施する。
本では、suコマンドでスーパーユーザになっているが、wslの初期設定ではsuが利かないようになっているので、ここではsudo makeを行う。
(suを有効にしたい場合は他のWebページ参照)
% sudo make install
gcc
gccのインストールを行う。
まず gcc-3.4.6.tar.gzをダウンロードする。
格納したディレクトリ内で下記コマンドを実施し解凍する。
% tar xvzf gcc-3.4.6.tar.gz
続けて以下を実行し、H8用のクロスコンパイラとしてビルドする。
% ./configure --target=h8300-elf --disable-nls --disable-threads --disable-shared --enable-languages=c
エラーが出るため、本に書いてある通りに、gcc/collect2.cを変更する。
再度、上記コマンドを実行しビルドが完了すればOK。
次にインストールを実施する。
% sudo make install
エラーがでるが、64ビット版ででる既知エラーとのこと。
パッチが公開されているのでパッチで対応する。
下記ページからパッチをダウンロードする。
任意の名前をつけて保存する。(gcc_patch.txt)
以下のようにパッチをリダイレクトする。
% patch < gcc_patch.txt
途中で適用するファイルがどれか聞かれるので、h8300.cを指定する。
File to patch: gcc/config/h8300/h8300.c
再度、 make してみる。
% make
makeが完了したらインストールを実施する。
% sudo make install
完了すればOK。
フラッシュROM書き込みツール
ROM書き込みには、ウェブからkz_h8write-v0.2.1をダウンロードして使用する。
この書き込みツールで書き込みができた。
H8/3069F writer for KOZOS (kz_h8write)
ちなみに下記ページで公開されているh8writeを使用してみたが、どうも上手くいかなかった。