WindRiverが提供しているVxWorks 7 SDK for Raspberry Pi
VxWorksはNASAが航空宇宙分野でも使用する信頼性の高いリアルタイムOSです。
気軽にに使用できるよう、WindRiver社提供のSDKを利用してRaspberryPi3上でVxWorksを起動してみました。
しかし下記リンクのページ(WindRiver社)の方法ではうまくいかない部分もあったため、情報を共有しておきます。
VxWorks 7 SDK for Raspberry Pi 3
VxWorks 7 SDK for Raspberry Pi 4
上記ページではわかりづらい部分、実際とパスが異なる部分などを記載しておきます。
上記ページも確認しながら、下記手順にて進めてみてください。
##VxWorks起動用SDカード作成手順
以下の手順でVxWorks起動用SDカードを作成します。
1.SDカードをFAT32でフォーマット
Linux OSにおいてコマンド実行するか、I/O DATAが提供しているツールなどを利用します
2.RaspberryPiのファームウェアをSDカードに書き込む
入手元:https://github.com/raspberrypi/firmware/archive/1.20200212.tar.gz
コピー元:上記ファイル解凍後のbootフォルダ内のファイルすべて
コピー先:SDカード直下
3.u-bootをビルド
以下はUBUNTUを利用する場合のコマンド例です。
$ sudo apt install gcc-aarch64-linux-gnu $ git clone https://gitlab.denx.de/u-boot/u-boot.git $ cd u-boot $ CROSS_COMPILE=aarch64-linux-gnu- make rpi_3_defconfig $ CROSS_COMPILE=aarch64-linux-gnu- make
4.「3.」で作成したu-boot.binをkernel8.imgに変更してSDカード直下に上書き
5.VxWorksカーネルイメージをSDカード直下のvxフォルダ内にコピー
1)SDカード直下にvxフォルダを作成
2)「VxWorks 7 SDK for Raspberry Pi3」のuVxWorksを1)で作成したフォルダ内にコピー
コピー元:"VxWorks SDK for Raspberry Pi 3\wrsdk-vxworks7-raspberrypi3b\vxsdk\bsps\rpi_3_0_1_1_2\uVxWorks"
ポイントは以下のとおりです。
・「3.」でビルドしたu-boot.binはkernel8.imgに置き換えること
・github上にある「rpi_3-0.1.1.0」用のブートローダーは使用しないこと(バージョンが異なる)
VxWorks起動手順
起動手順については冒頭にリンクを張った「VxWorks 7 SDK for Raspberry Pi 3」のページを参照ください。
ここでは大まかな流れと注意する点を記載しておきます。
流れ:
1.SDカードをRaspberryPi3に装着
2.シリアル(USB-シリアル変換(UART))でホストPCとRaspberryPi3を接続
注意:TXにRX、RXにTXを接続する(テレコにする)ことに注意
3.RaspberryPi3の電源をON
4.ターミナルソフト(Windowsの場合はTera Termなど)でVxWorksシェルが起動することを確認
LANに接続していればTELNETでシェルを操作することも可能です。
##最後に
多忙なためメモ書き程度になってしまい申し訳ございません。
余裕があれば画像を載せたり、この先のVxWorks利用方法なども載せて充実化します。