STM32マイコンの開発環境はいろいろあるいけど、ぶっちゃけ言って次の3パターンに絞られると思う。
(※個人の感想です。)
- 金があるなら IAR(EWARM) か Keil(uVision/MDK-ARM)
- 金がないなら SW4STM32
- お手軽志向なら mbed
IARやKeil(カイルと読む)は、ン十万円するのでお仕事用。個人的にはIARのほうが好みだし、サポートも良い気がするけど、客がKeil使えと言うならしたがう。要は世のなか金しだいですよ。ちなみにどちらもバイナリサイズ32kバイトまでなら無償評価版が使える。
SW4STM32(System Workbench for STM32)は、Eclipseベースの開発環境。Eclipseベースの開発環境としては他にもCooCox CoIDEが有名だけど、SW4STM32はSTマイクロが公式にサポートしている。ちなみに、STマイクロが公式にサポートしている開発環境は、Keil、IAR、TrueSTUDIO、SW4STM32の4つ。TrueSTUDIOについてはよく知らない。
mbedはインストール要らずのオンラインの開発環境。STM32は各種Nucleoボードがmbedに対応している。お手軽で良いと思うけど、
- オンライン環境である。(いざという時にかぎってサーバが重かったり落ちてたりする)
- デバッガが使えない。(printfデバッグしかできないのでハマったら難儀)
というのがネック。抽象化された分かりやすく互換性の高いクラスライブラリは魅力なので、mbedで作ったプロジェクトをローカル環境にエクスポートして使うのが好み。Nucleoの場合、IAR、Keil、SW4STM32、CooCoxのいずれにもエクスポート可能である。