ARMマイコン・STM32を使ってみよう
Using STM32 ARM microcontroller
STM32はSTマイクロエレクトロニクス社が開発するプログラマブル32bitマイコンのシリーズです。コアアーキテクチャにARMプロセッサを採用しているため、開発環境の幅が非常に広いのが特徴です。
- 開発環境が安価である
STM32ではマイコンとプログラムライター・デバッガーを組み込んだNucleoシリーズがあります。省電力、メインストリーム、ハイパフォーマンス、32ピン、64ピン、144ピンと豊富な種類があり、1000~3000円で購入することができます。また、Nucleoはプログラムライターとマイコンボードを切り離すことができ、それぞれのボードを単体で使用することができます。
- 開発手段が豊富である
組み込み機器だけではなく、スマートフォンやモバイル端末などにも幅広く使用されているARMプロセッサを組み込んでいるため、公式の開発環境である「TrueStudio」に加え、ARMプロセッサ向け開発環境「Keil」、ARM社のマイコンボード向け開発環境「mbed」、STM32duinoフレームワークによるArudino開発など、ユーザーのプログラミングスキルや実装に合わせた環境を選ぶことができます。
- USB High Speedも扱える
STM32シリーズは3桁の番号が与えられていますが、「STM32L052」のように末尾が「2」以降であるシリーズでは、オリジナルのUSB機器を開発できます。STM32F4シリーズのように高性能モデルになると最大480Mbpsの転送速度を持つ規格「USB 2.0 High Speed」に対応したデバイスも作成できます。
一昔前までは、有料ライセンスを取得しないとコンパイルできるデータに制限があったりしたのですが、ST社が開発元を買収してTrueStudioを誰でも使えるようにしたり、ARM社ではmbedのオフライン環境「mbed studio」を制限のないコンパイラを同梱して公開したりするなど、規模の大きい開発の敷居も大分低くなりました。
mbedやSTM32duinoはお手軽である一方で、マイコンの持つすべての機能を利用できるかは、それらのライブラリーに依存します。一方で、純正開発ツールではSTM32CubeMXというコード生成ツールによって、マイコンの持つすべての機能を制御できますが、APIをはじめとしたプログラミングの学習にはやや時間がかかります。
TNKソフトウェアではSTM32CubeMXによる開発例をまとめることで、ブログをご覧いただいている方たちが効率的に学習できる記事を提供していく予定です。
ちなみに、多々ある開発ボードの選択ですが、「L(省電力)」よりも「F(ハイパフォーマンス)」の方が使える機能が多く、下位モデルに搭載しているUSBなどのモジュールは上位モデルでもまず利用できるので、開発用途であるならラインナップのちょうど中央に位置する「NUCLEO-F446RE」あたりがおすすめです。拡張性よりも、クロック周波数やSRAM容量の多さを求めるのなら、ESP32などの他社マイコンも検討してみましょう。
2019/03/04