MENU

組込みOS自作 H8マイコンの開発環境構築

OSの自作ブームが来ている気がするので例にもれずやってみます。

組込みOSということで、X86系以外のCPUが乗ったデバイスで自作のOSを動かしたいと思います。

ホビー向けの組込みデバイスといえば、現在だとRaspberry PiやArduinoが人気ですが、組込みOSの自作といえば、名著である「組込みOS自作入門 」がありますので、ターゲットのデバイスは本著で扱っているH8マイコン(H8/3069F)を使用します。

H8/3069Fネット対応マイコンLANボード
https://akizukidenshi.com/catalog/g/gK-01271/

目次

クロスコンパイル環境

必要なものを用意したら開発環境を構築します。

本ページではWindows 10の環境にVirtualbox + Ubuntu 20.04LTS + USBシリアル変換(USB 3.0)の構成で構築します。

Virtualboxのインストール手順は省略します。

Ubuntuのインストール

UbuntuのホームページからUbuntu 20.04 LTSのDVDイメージをダウンロードします。

https://ubuntu.com/download/desktop

イメージファイルのダウンロードが出来たらVirtualboxでVMを作成します。

メモリは余裕をもって2Gbyteの割り当てにしました。

ハードディスクは念のため倍の20GBを割り当てます。

以上でVM(OS無し)が作れました。
続いてUbuntuをインストールしていきます。

仮想CD/DVDスロットにダウンロードしたUbuntuのDVDイメージをセットします。

nに

VMを起動します。

起動後、自動的にインストールメニューが出るので案内に従ってインストールを行います。
英語は苦手なので日本語で進めます。

基本的にデフォルトのままOKボタンを押していくだけです。

ユーザアカウントを作成します。
まあまあのパスワードだそうです。

インストールが完了したら再起動しましょう。
再起動ボタンを押してもうまく再起動が走らない場合は、右上の×ボタンでVMの電源OFF⇒再起動しましょう。

SSH接続

Ubuntuのインストールができたら開発環境を整えていきます。
VMのGUIでは操作しづらいので、Windowsで起動した端末から、SSHでログインして操作できるようにしてきます。

まずは、Ubuntuで端末を開き、sshサーバのインストールして起動します。

sudo apt update 
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh


続いてVMにポートフォワーディングを設定します。
Windowsの127.0.0.1、ポート10022にssh接続をするとUbuntuにつながるように設定します。

適当な端末から接続してみます。
無事ログインできればOKです。

ついでにホームディレクトリの日本語のフォルダ名が気に食わないので英語のフォルダ名に変更しておきます。

端末を開いて下記を実行します。

LANG=C xdg-user-dirs-gtk-update

Update Namesをクリックするとディレクトリ名が英語になります。

H8開発環境構築

ひとまず必要になるパッケージをイントールしておきます。

sudo apt install build-essential cu m4


続いてbinutilsとgccのソースコードを取得してH8開発環境向けにビルドしていきます。

binutilsのビルド

wget https://ftp.gnu.org/gnu/binutils/binutils-2.36.tar.xz
tar xf binutils-2.36.tar.xz
cd binutils-2.36/
./configure --prefix=/usr/local --target=h8300-elf --disable-nls



gccのビルド

gccをこのままビルドしようとすると何回か罠にハマります。
具体的には下記が参考になります。

https://blog.wataridori.co.jp/2017/12/post-370/

事前に必要なパッケージをインストールしましょう。

wget https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz

tar xvf gmp-6.2.1.tar.xz
cd gmp-6.2.1
./configure
make
make check
sudo make install

sudo ldconfig
wget https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.xz

tar xf mpfr-4.1.0.tar.xz
cd mpfr-4.1.0
./configure
make
make check
sudo make install

sudo ldconfig
wget https://ftp.gnu.org/gnu/mpc/mpc-1.2.1.tar.gz

tar xf mpc-1.2.1.tar.gz
cd mpc-1.2.1
./configure
make
make check
sudo make install

sudo ldconfig

準備が出来たらgccをビルド&インストールします。
configureを実行するディレクトは別途自分で掘る必要があることに注意です。

wget https://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz

tar xf gcc-10.2.0.tar.xz
mkdir build
cd build
../gcc-10.2.0/configure --target=h8300-elf --disable-nls --disable-threads --disable-shared --enable-languages=c --disable-libssp

make -j4
sudo make install

USBシリアル接続

UbuntuからH8マイコンにUSBシリアル経由でアクセスするための設定を行います。
一度VMの電源をOFFにしてUSBドライバに対象のUSBシリアルインタフェースを追加します。

今回USB 3.0に対応したものを使っているのでUSBコントローラをUSB 3.0に変更しています。

以上で開発に必要な環境は整いました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次