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