- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!Nuttx
今さらながらNuttxを試してみた.
ホスト環境はUbuntu 18.04,ターゲットボードはSTM32F407 Discovery kit.
基本的には,[Getting Started with NuttX -- STM32F4 Discovery (Unix)|http://nuttx.org/doku.php?id=wiki:getting-started:stm32f4discovery_unix]を参考に.
:: 準備
mkdir nuttx
cd nuttx
export NUTTX=`pwd`
::kconfig-frontendのインストール
cd $NUTTX
git clone https://bitbucket.org/nuttx/tools
sudo apt install make gperf flex bison libncurses-dev
sudo apt install autotools-dev automake autoconf
cd kconfig-frontends
./configure
make
make install
::st-flashの用意
sudo apt-get install git build-essential libusb-1.0.0-dev cmake
cd $NUTTX
git clone git@github.com:texane/stlink.git
cd stlink
make release # st-flash is build at $NUTTX/stlink/build/Release
::nuttx
cd $NUTTX
git clone https://bitbucket.org/nuttx/nuttx
git clone https://bitbucket.org/nuttx/apps
sudo apt-get install gcc-arm-none-eabi
cd nuttx
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./tools/configure.sh stm32f4discovery/usbnsh
make menuconfig # "Build Setup" -> "Build host platform" -> Linux
make
sudo ../stlink/build/Release/st-flash write nuttx.bin 0x8000000
::ログインしてみる
sudo chmod 666 /dev/ttyACM1
screen /dev/ttyACM1 115200
何度かエンターキー押すとプロンプトがでてコマンド入力できる.
nsh>
nsh> ls
/:
dev/
proc/
::なにか動かしてみる
[STM32F4Discovery向けにNuttX(RTOS)をビルドしてみる|https://blog.tokor.org/2018/03/31/STM32F4Discovery%E5%90%91%E3%81%91%E3%81%ABNuttX-RTOS-%E3%82%92%E3%83%93%E3%83%AB%E3%83%89%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/]を参考にPWMアプリ入れてみる.
cd $NUTTX/nuttx
make menuconfig
で,関連項目をセット.makeしてst-flashで書き込んでみると
nsh> help
help usage: help [-v] [<cmd>]
[ cp exec kill mv set uname
? cmp exit ls mw sh umount
basename dirname false mb ps sleep unset
break dd free mkdir pwd test usleep
cat df help mh rm time xd
cd echo hexdump mount rmdir true
Builtin Apps:
pwm
nsh>
とか.
nsh> pwm -d 10 -t 10
とかするとLD3(マイコンの下にあるLED)が点灯する
::参考にしました
* [STM32F4Discovery向けにNuttX(RTOS)をビルドしてみる|https://blog.tokor.org/2018/03/31/STM32F4Discovery%E5%90%91%E3%81%91%E3%81%ABNuttX-RTOS-%E3%82%92%E3%83%93%E3%83%AB%E3%83%89%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/]
* [NuttXというPOSIXに対応した組み込みOSをためしてみる|https://dev.classmethod.jp/hardware/nuttx-embedded-rtos-first-touch/]