「AKI-H8/3069FでuClinuxを動作させる方法(前編)」の版間の差分
(ページの作成:「== 概要 == AKI-H8/3069Fの動作確認では、H8上で動作するファームウェアを書き込み、マザーボード上のLEDやLCDの動作確認をした…」) |
(相違点なし)
|
2020年3月2日 (月) 00:03時点における版
概要
AKI-H8/3069Fの動作確認では、H8上で動作するファームウェアを書き込み、マザーボード上のLEDやLCDの動作確認をした。
ここでは、AKI-H8/3069Fに小型CPUで動作可能なuClinuxを載せ、実際に動作させる。
まず、uCLinuxを載せるには、下図の構成を覚えておく。
AKI-H8/3069F上でuClinuxが動作して、コマンド入力を行えるシェルが起動したとしても、キーボードやディスプレイは接続できない。
つまり、AKI-H8/3069F単体では入出力等ができないため、必ず、Linux PCが必要になる。
Linux PC上に、AKI-H8/3069F上のuClinuxの起動に必要なカーネル等のファイルを置くことによって、OSの起動を実現できる。
ここでは、以下の問題を解決していく。
この辺りの問題が、組み込み機器の取り扱いを難しくさせている要因であり、幅広い知識が要求される。
- BIOSに代わるプログラムは何か。
- カーネルはどこから起動されるのか。
- HDD / SSDは無いが、ファイルシステムのマウント先はどうするのか。
AKI-H8/3069F上でuClinuxを動作させるための準備
uClinuxを動作させるための準備を具体的に見ていく。
Linux PCの設定
H8の開発環境とAKI-H8/3069Fに載せるuClinuxのカーネルソースをダウンロードする。
以下のWebサイトから、h8tools_bin.tar.gzとuClinux-dist-sbcrbook20070218.tar.gzをダウンロードする。
- 開発環境 : h8tools
- カーネルソース : uClinux-dist-sbcrbook
開発環境であるh8toolsをインストールする。
まず、h8tools_bin.tar.gzファイルを解凍して、/optディレクトリにコピーする。
tar zxvf h8tools_bin.tar.gz -C /opt
次に、.bashrcファイルにパスを通す。
# .bashrcファイル export PATH=/opt/bin:$PATH
.bashrcファイルの設定を反映させる。
source .bashrc
最後に、パスが通っているか確認する。
which h8300-linux-elf-gcc
次に、uCLinuxのカーネルソースであるuClinux-dist-sbcrbook20070218.tar.gzを解凍する。
ここでは、カーネルソースを/usr/local/srcディレクトリに配置している。
tar zxvf uClinux-dist-sbcrbook20070218.tar.gz -C /usr/local/src
カーネルをコンパイルするために、カーネルソースを配置したディレクトリに移動して、カーネルパラメータの設定を行う。
細かいパラメータの設定は、"はじめる組込みLinux H8マイコン×uClinuxで学べるマイコン開発の面白さ"の中に記載されているので、
詳細はその書籍を参照する。
cd /usr/local/src/uClinux-dist make menuconfig
カーネルパラメータの設定が完了した後、以下のコマンドを実行する。
make dep make
このカーネルソースは、uClinuxのカーネルの設定・生成だけではなく、BusyBoxなどの設定・生成も行っているので、
makeコマンドが終了するたびに各ツールの設定メニューが立ち上がる。(その都度、詳細を設定してはmakeを実行する)
設定するのが面倒であれば、以下のWebサイトからカーネルであるlinux.binをダウンロードする。(/root/3069Fに配置する)
カーネル : linux.bin
関連リンク : 組み込みLinuxで際立つ「BusyBox」の魅力
ルートファイルシステムの準備
ルートファイルシステムを準備する。
これは、カーネルソースに組み込まれているので、それを流用するだけであるが、デバイスノードの作成などを行う必要がある。
詳細は書籍やWebサイトの情報を参照すること。
まず、ルートファイルシステムの圧縮ファイルであるromfs.tar.gzファイルを、以下のWebサイトからダウンロードする。
ルートファイルシステム : romfs.tar.gz
次に、ルートファイルシステムを展開する。
tar zxvf romfs.tar.gz -C /opt
ファイルの展開が完了後、romfsディレクトリが作成されるので、ファイル名をaki3069fに変更する。
sudo mv /opt/romfs /opt/aki3069f
以上で、カーネルとルートファイルシステムの準備が完了する。
ブートローダの書き込み
組み込み機器で採用されているブートローダには、U-BootやRedBoot等がある。
AKI-H8/3069Fでは、RedBootを使用する。
以下のWebサイトに、AKI-H8/3069F用にカスタマイズされたブートローダがあるので、それを使用する。(/root/3069Fに配置する)
H8ボード用ブートローダ : redboot_std_2mb.srec
USB-シリアル変換ケーブルを接続して、h8writeコマンドでredboot_std_2mb.srecをAKI-H8/3069FMに書き込む。
ファームウェアのサイズが大きいので、書き込み時間が長いので注意する。
h8write -f20 -3069 redboot_std_2mb.srec /dev/ttyUSB0