デビアンな生活 STM32F4 Discoveryも買いました

デビアンな生活

日本語コンソールベースのDebianTIPS集として始めたが、結局LXDEになってしまった。

STM32F4 Discoveryも買いました

H8-3069Fが面白かったので、ついSTM32F4 Discoveryも買ってしまいました。Floatユニットがあるなんて、PC9801に8087を載せた時以来の感激です。
でも、使い古された3069Fと違って、ハードルが高そう。
とりあえず、audio_playback_and_recordのsampleをEWARMでコンパイルして、ST-LINKで書き込んでみた。イヤホンを差し込むとちゃんとループの音楽が聞こえて感激。
次はOSだ。サンプルにもFreeRTOSが含まれているが、組込み目的のミニマルセットで面白くない。OSにはシェルがなければ。BeRTOSはいろいろ揃っていて面白そうだが、まだF4用はなさそう。ChibiOS/RTはFreeRTOSと同じようだし。
といううわけで、探しているとnuttxが面白そう。STM32F4 Discoveryに対応しているし、nshというシェルも載っている。FreeRTOSより必要なリソースが多そうだが、STM32F4 Discoveryでは気にならない。
コンパイルするには、UNIX環境が必要そうなので、気は進まなかったが、Cygwinをインストールしてみた。何とか、努力したがnuttxのコンパイルができず、STM32F4 DiscoveryについてのREADMEを読むと、Cygwin環境はお勧めではなさそう。
結局、VirtualBoxをインストールして、実績のあるubuntu 11.04をセットアップした。debianと環境はほとんど同じだが、rootでないので、sudoがうっとおしい。
まず、arm-gccのセットアップからだが、以下の必要なパッケージをインストール。
git zlib1g-dev libtool flex bison libgmp3-dev libmpfr-dev 
libncurses5-dev libmpc-dev texinfo libftdi-dev autoconf
gperf

よく引用されているhttps://github.com/MikeSmith/summon-arm-toolchain.gitのレポジトリーはもうないようなので、以下からダウンロードしてコンパイル。
git clone git://github.com/esden/summon-arm-toolchain
cd summon-arm-toolchain
./summon-arm-toolchain

newlibのダウンロードに失敗するので、別にダウンロードしたnewlib-1.19.0.tar.gzをあらかじめsourcesディレクトリに置き、stampsディレクトリにnewlib-1.19.0.fetchファイルを作っておく。
かなり時間はかかったが、親ディレクトリーにsatができるので、.profileを編集して、PATH=$PATH:$HOME/sat/binでPATHを通しておく。
次に、nuttxの設定メニューを使うために、kconfig-frontendsをダウンロードする。最新は、kconfig-*にコマンド名が変わっているので、nuttxのレポジトリーから、kconfig-frontends-3.3.0-1.tar.gzをダウンロードしてインストール。
cd kconfig-frontends-3.3.0-1
./configure
sudo make install
ldconfig

最後に、本体nuttx-6.22.tar.gzとapps-6.22.tar.gzをダウンロードして、コンパイル。
tar xvf nuttx*
tar xvf apps*
ln -s nuttx-6.22 nuttx
ln -s apps-6.22 spps
cd nuttx
cd tools
./configure.sh stm32f4discovery/nsh
cd ..
make menuconfig
. ./setenv.sh
make

これで、nuttx.binができるので、windows7に移してボードに書き込み。
USART2がコンソールになるので、冗長になるが、下記の回路でレベル変換して、シリアル接続したのちUSB変換ケーブルでwindows7に接続。材料は秋月電子通商でICセットI-03030の300円とDサブ9ピンK-05406の150円。
USART2レベル変換
teraterm-4.75でシリアル接続(115200bps8n1)して、リセットするとnshが動いた。
NuttShell (NSH) NuttX-6.22
nsh> help
help usage: help [-v] []

[ dd help mkfifo set usleep
? echo kill mh sh xd
cat exec losetup mw sleep
cd exit ls ps test
cp free mb pwd unset

Builtin Apps:
nsh> ls
/:
dev/
nsh> ls dev
/dev:
console
null
ttyS0
nsh> free
total used free largest
Mem: 193312 6688 186624 126288
nsh>

とりあえず、何もできないが、nshはアプリの追加ができるし、nuttx本体はいろいろ周辺のコンフィグレーションができそうで楽しみ。
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://kfujio.blog78.fc2.com/tb.php/100-a4caf8ab
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad