100日書いたらどうなるか?

ブログを100日書いたら文章や内容がどうなるかを検証する

WSL環境で組込み自作OSに挑戦(環境構築)

「12ステップで作る 組込みOS自作入門」という名著があり、この本に基づいて組込みOSの自作に挑戦していきたいと思います。環境は本には載っていないWindows Subsystem for LinuxUbuntuを使います。

まずは環境構築をしていきます。

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)

ここでは、「gcc-3.4.6」ディレクトリ内に保存した。

12ステップで作る 組込みOS自作入門

 

以下のようにパッチをリダイレクトする。

% 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を使用してみたが、どうも上手くいかなかった。

(Open H8 writer)