STM32F4 Discovery再び

しばらく眠っていたSTM32F4を再びいじってみた。以前触ってみたnuttxがバージョンアップしていたので、とりあえずコンパイル。
まずは、いつものubuntu11.04がサポート切れになっていたので、/etc/apt/surces.listを編集して、リポジトリをold-releases.ubuntu.comに変更。
https://bitbucket.org/patacongo/から、nuttx-7.12.tar.gz、apps-7.12.tar.gz、buildroot-1.14.tar.gzをwindowsでダウンロード。
root権限で、/media/sf_tempを経由してファイルをubuntuの/home/user/nuttx-srcに移動して、所有者を変更。
tar xvf *でファイルを展開すると、nuttx-7.12、apps-7.12、miscができる。
ln -s nuttx-7.12 nuttx、ln -s apps-7.12 appsでリンクを作成。
cd nuttx/tools
./configure.sh stm32f4discovery/nshでnutshellを設定
cd ../../misc/buildroot-1.14
make menuconfigで以下の設定
Target Architecture: arm
Target Architecture Variant: Cortex-M4F
Target ABI: EABI
Toolchain Options –>
Binutils Version: binutils 2.22
Build GCC cross-compiler: *
GCC compiler Version: 4.8.2
Build C++ compiler?: *
Build gdb for the Host: *
GDB debugger Version: 7.4.1
makeで、misc/buildroot-1.14/build_arm_hf/staging_dir/binに準備ができるので、
export $PATH:/home/user/nuttx-src/misc/buildroot-1.14/build_arm_hf/staging_dir/bin
パスを追加。
cd ../../nuttx
make menuconfigでnuttxの設定
Build Setup, Build Host Platform (Linux)
System Type, FPU support: *
System Type, Toolchain Selection (Buildroot (Cygwin or Linux)
保存したら、make
nuttx.binができるので、windowsに移動して、
USBで接続して、stm32 ST-LINK Utilityでボードに書き込み。
USART2をRS232変換し、シリアル接続すると、無事、以下のように表示される。
NuttShell (NSH) NuttX-7.12
nsh> help
help usage: help [-v] []
[ dd hexdump mh set usleep
? echo kill mv sh xd
break exec losetup mw sleep
cat exit ls ps test
cd false mb pwd true
cp free mkdir rm uname
cmp help mkfifo rmdir unset
Builtin Apps:
nsh>

この連載が中断されているのが残念。
https://news.mynavi.jp/article/sopinion-410/

コメント