用意するもの
最低限必要な開発ツールは、クロスコンパイラ・リンカと、ターゲットのフラッシュROMに書き込むライタプログラムだ。
プロジェクト内のファイル数が増えると、IDEを使いたくなるだろう。
また、リモートデバッグをするには、JTAGデバッガが必要になる。
- ターゲットボード
- tool chain(クロスコンパイラ、リンカ等)
- フラッシュライタ
- IDE
- デバッガ
ターゲットボード
2013年11月現在、お勧めのターゲットボードは次の3つ。
他にメジャーなメーカーとして、NXP社がある。NXP社の LPC も評判よさげなのだが、STM32 のほうが価格が安いため、こちらを採用。
3つのボードのうち、Discovery が一番機能が豊富でしかも安い。乗っているセンサやマイクロフォンなど、通常ではありえない価格設定。認知してもらうための戦略的価格。
このボードに欠点があるとすると、少し基板がでかい。小さく作りたい場合には使いにくい。
その点、STBee mini は小さい。STBee はその中間。
tool chain(クロスコンパイラ、リンカ等)
有料のものは IAR, Keil とかが有名。他にも いろいろ。
しかし、趣味の電子工作ならばARM用GCCで決まり。2013年11月の状況としては、Sourcery CodeBench Lite Edition including ARM GCC IDE が一番品質がよさそう。
フラッシュライタ
ライタプログラムはマイコンメーカごとに推奨ツールは異なる。
STMicro | STLink Utility |
NXP | Flash Magic |
StrawberryLinux | DFUSE |
ChaNさん | lpcsp |
ChaNさんのライタはコマンドラインのツール。書き込み速度も速いらしい。開発中にビルド・書き込み・デバッグのサイクルを頻繁にまわす場合は、GUIよりコマンドラインのほうが手っ取り早くて使いやすそう。
必要ならば、eclipse に外部ツールとして登録もできるはず。
IDE
GUIな環境が欲しければ、
IDE | Eclipse IDE for C/C++ Developers |
組み込み用plug-in | zylin embedded CDT |
を用意する。
デバッガ
ターゲット上で実行させながらのリモートデバッグを行うためには、JTAGデバッガが必要となる。
これは、ハードウェアとソフトウェアの両方が必要。
ホスト(PC)で動かすソフトウェアとしては
- OpenOCD
がある。
対応するハードウェアとして - STLink2
- USB-JTAGデバッガ NGX ARM USB JTAG
などがある。
別のやり方としてVersaloonがある。Versaloon を使うと、
安価な STM32ボードを利用してデバッガにできる。一番安いボードがSTM32F0DISCOVERYで\800-。一方、Stlink v2 は\2300-なので、価格は約1/3、やる価値はある。まあ、ケースに入れたりするともうちょっとかかるが。
参考としたサイト
- マイコン徹底入門
- ねむいさんのぶろぐ
- ChaNさんのELM