ChibiOS/RT上で動作するアプリケーションをVeriFastで検証します。
関連パッケージをインストールしてください。
$ brew tap PX4/homebrew-px4
$ brew update
$ brew install wget git gcc-arm-none-eabi cmake picocom libusb
stlinkをダウンロードしてビルドしてください。
$ git clone https://github.com/texane/stlink.git
$ (cd stlink && make)
$ (cd stlink/build/Release && sudo make install)
VeriFastの最新版をダウンロードし、展開してPATHを通してください。
$ wget http://82076e0e62875f063ae8-929808a701855dfb71539d0a4342d4be.r54.cf5.rackcdn.com/verifast-nightly-osx.tar.gz
$ tar xf verifast-nightly-osx.tar.gz
$ mv verifast-*/ verifast
$ export PATH=`pwd`/verifast/bin:$PATH
本ソースコードをダウンロードしてください。
$ git clone https://github.com/fpiot/chibios-verifast.git
ソースコードをビルドしてください。
$ cd chibios-verifast/verifast_demo/STM32/RT-STM32F091RC-NUCLEO
$ make
ボードとMacをUSBケーブルで接続した後、ファームウェアを書き込みます。
$ cd chibios-verifast/verifast_demo/STM32/RT-STM32F091RC-NUCLEO
$ make flash
シリアルコンソールを開いた後、ボードのUSER
スイッチを押下してください。以下のようなログが表示されます。
$ picocom -b 9600 /dev/tty.usbmodem1423
picocom v1.7
--snip--
Terminal ready
*** ChibiOS/RT test suite
***
*** Kernel: 3.1.5
*** Compiled: Jan 15 2017 - 20:38:01
*** Compiler: GCC 4.8.4 20140725 (release) [ARM/embedded-4_8-branch revision 213147]
*** Architecture: ARMv6-M
*** Core Variant: Cortex-M0
*** Port Info: Preemption through NMI
*** Platform: STM32F091xC Entry Level Access Line devices
*** Test Board: STMicroelectronics NUCLEO-F091RC
--snip--
VeriFastでソースコードを検証するには、以下のようにしてVeriFast IDEを起動してください。
$ cd chibios-verifast/verifast_demo/STM32/RT-STM32F091RC-NUCLEO
$ make vfide