※MCUはマイクロコントローラの略称でCPUとタイマーやADなどの高機能な周辺機能をワンチップに集積したICです。
STM32CubeMXは強力なプログラム開発支援ツールです
STM32CubeMXはstMicroが提供するstm32シリーズ用無償開発環境で、GUI画面でMCU周辺機能を設定することで、自動的に主変機能の初期化及び設定のプログラムを自動生成してくれるプログラミング支援ツールです。
特長はstm32シリーズのラインアップを全てをサポートし、RTOSやfatFS、LANをサポートするミドルウェアが一体化していることです。
未だリリースされていないMCUもSTM32CubeMXの選択画面にはリストアップされていて、メーカーがツールを重要視し、MCUの開発と一体化して進めているようです。
MCUの周辺機能が高機能で複雑になった現在では、このようなツールの性能がMCUのマーケットシェアを左右するため、半導体各社は使いやすくて高機能なツールを提供することに努めています。
MicroChipのMPLAB-Xも同様のコンセプトの開発環境ですが、プロ用ツールとしてはSTM32CubeMXが優れていると感じます。
ルネサスもスマートコンフィギュレータという名のツールを提供しているようですが、開発環境としては遅れている印象があるのは否めません。
今はMCU内のCPU性能より内蔵周辺機能や開発環境の使いやすさがMCU選択の決め手になる時代です。このままではstMicroやMirochipとの勢いに差がつく一方です、日本のMCUメーカーとして開発環境の拡充に力を入れていただきたいものです。
マイコンボードの設計支援ツールとして役立つSTM32CubeMX
STM32CubeMXはプログラム開発支援ツールですが、実はMCUボードの回路設計でも大活躍します。
STM32シリーズに限らず最近のMCUはADコンバータ、タイマー、シリアル通信、CAN、SPI、DMA、USB、LAN等の豊富な周辺機能を搭載しています。
豊富な内蔵周辺機能のおかげでコンパクトなMCUボードで色々なアプリケーションに対応できるのですが、設計時にどのMCUを使ってどの端子を割り当てかを決めるのにデータシートをひっくり返しながら悩む必要がありました。
その作業がSTM32CubeMXを使うようになってから格段に楽になりました。
手順としては、まず最初にSTM32CubeMXでプロジェクトを作成し使えそうなMCU選定します。
次にSTM32CubeMXの画面で必要な機能を有効にして端子を割り当てていきます。必要な機能を割り当てることが出来たら、そのMCUを使うことに決定し、割り当てた端子を使って回路図を作成します。
MCUボードが完成したら、そのプロジェクトを使ってソフト開発を始めます。
このような手順で開発を進めることによって数倍の効率で開発を進めることが出来るようになりました。