Nucleo L476RGにNuttx(組み込みOS)を入れてみる

ros2を使ってロボット制作を始めようと思い、マイコンとros2との通信方法を調べてみるとmicro-rosというものに出会いました。
どうやらmicro-rosを使ってマイコンとの通信が簡単にできるらしいが、マイコンにOSが必要とあったので早速トライ。

Nuttxのインストール

公式ホームページにあったように、諸々をインストール

sudo apt install bison flex gettext texinfo libncurses5-dev libncursesw5-dev gperf automake libtool pkg-config build-essential gperf genromfs libgmp-dev libmpc-dev libmpfr-dev libisl-dev binutils-dev libelf-dev libexpat-dev gcc-multilib g++-multilib picocom u-boot-tools util-linux
sudo apt install kconfig-frontends
sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi

mkdir ~/nuttxspace
cd ~/nuttxspace
git clone https://github.com/apache/incubator-nuttx.git nuttx
git clone https://github.com/apache/incubator-nuttx-apps apps

nucleo-l476があるか確認

./tools/configure.sh -L | less

設定をする (makeをする前に"make menuconfig"を実行して詳細に設定してもよい:私にはわからなすぎた)

cd nuttx
./tools/configure.sh -l nucleo-l476rg:nsh
make

USBからNucleoにBINファイルを書き込む

git clone https://github.com/stlink-org/stlink.git
cd stlink/
make
cd build/Release/
sudo make install


sudo ldconfig
st-flash write ~/nuttxspace/nuttx/nuttx.bin 0x8000000

Nuttxとのご対面

sudo apt install gtkterm
gtkterm -s 115200 -p /dev/ttyACM0
Nuttx Shell

追記:
cu -s 115200 -l /dev/ttyACM0 とかやってUSBからShellにアクセスを試みてみるが、反応なし! (理由教えてください)


いいなと思ったら応援しよう!