LoginSignup
1
0

More than 1 year has passed since last update.

VxWorksをRaspberryPi3で起動する

Last updated at Posted at 2021-07-17

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でシェルを操作することも可能です。
スクリーンショット 2021-07-17 211556.png

最後に

多忙なためメモ書き程度になってしまい申し訳ございません。
余裕があれば画像を載せたり、この先のVxWorks利用方法なども載せて充実化します。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0