無償版32KBコードサイズまで。ベースSTM32専用IDE。無償版コードサイズ制限なし。EclipseベースSTM32専用IDE。無償版コードサイズ制限なし。本ブログはWindows版で説明。STM資料は、これら4種IDEを併記していますので、英文量が増えます。4IDE同時に使う人はいませんので、自分が使うIDEの説明箇所のみを拾い読めば十分です。4IDE併記は、全てのSTM資料に共通ですので覚えておくと良いと思います。コード生成ツールSTM32CubeMXも、4IDE対応で作られておりIDE名称を知らないとフォルダ名に戸惑うことになります(後で示すFigure3や4参照)。今回は、これら資料の特徴を知ったうえで、SW4STM32へコード生成ツールSTM32CubeMXをプラグインしたSTM32マイコンテンプレート統合開発環境の構築と、評価ボードを使った構築環境の検証までを示します。STM32F072RBを使います。評価ボードデモソフト説明と構築環境の動作検証1)~5)がこの開発環境の構築手順です。上手く構築できたかどうかを、評価ボードデモソフトに変更を加え検証します。手順の内容を示します。areaからダウンロードします(要ログイン)。旧版ではUpdateで最新版へ更新できる場合とできない場合がありますので、最新版のダウンロードをお勧めします。最新版へ更新できない時は、その旨の親切なメッセージが、Update実行後に出力されます。SW4STM32のインストールは、ダウンロードインストーラの実行だけですので、特に問題ないと思います。忘れてはいけないのは、最新版(今日現在v2.0)でもインスト後、Updateが必要な事です。UpdatesでIDE更新を実行後、次の手順へ進むようにしてください。2)STM32CubeMXプラグインとUpdateSTM32開発で使うコード生成ツールSTM32CubeMXのプラグインインストール方法は、UM1718の3.3を参照してください。これも記載手順で行えば、問題なくできます。インストール後、3.4.3と3.5~3.5.1を参照し、STM32CubeMXのUpdateを行います。Cortex-M0です。これをSTMは、STM32F0シリーズと呼びます。x=0/1/4シリーズがCortex-M0+/M3/M4コアを使います。F3≠M3なので注意してください。Nowでサンプルソフトとドライバ等がIDEへインストールされます。最新版(STM32CubeF0の場合1.8.0)インストールで旧版分も含むので最新版のみでOKです。今日現在は、1.8.0のパッチパッケージは無いので、以上の手順で、SW4STM32とSTM32CubeMXプラグイン設定が完了し、統合開発環境:IDEの構築は完成です。後は、UM1718の6~10に使用例がありますので、これらを習得すればSTM32開発ができます。4)ライブラリ(サンプルソフト)の構成確認3でインストールしたサンプルソフトやドライバは、デフォルトではドキュメントフォルダではなく、下記STM32Cubeフォルダになります。Settingsで場所を変更してください。SettingこのRepository内に、ダウンロードしたSTM32F0シリーズのZipファイルとこれを展開したファイルが同居しています。STM32CubeF0_V1.1.0の展開ファイル例が下記です。3のProjects/STM32F072RB-Nucleo下の構成を示します。4のサンプルソフト(=Examples)を活用すれば、アプリケーションの早期開発ができます。弊社STMテンプレートもこれらを使います。以外のボードや、SW4STM32以外のIDE、つまりEWARMやMDK-ARMやTrueSTUDIOのUtilities等も含まれていることです。STM32F072RB(STM32F072RB-NucleoとFigure3表記)とSW4STM32を使う限りは不要です。※STM資料もそうでしたが、STMソフトもまた4つのIDEや動作する全評価ボードに1ソフトで対応するように作られているので、上記のように使わないものが含まれています。サンプルソフトの使い方は、UM1779の4.1にSW4STM32の記載があります。LD2が点滅し、その点滅間隔がB1ボタンを押す度に50/100/500msと変わるデモソフトが起動します。4のDemonstrations内にあります。そこで、このデモソフトを構築した環境へImportし、点滅間隔を変えることで環境が正しく構築されたかを検証します。firmwareにデモソフトの詳細が示されています。評価ボードに下図Arduinoシールドを装着すると、ジョイスティックやLCD表示も可能です。LD2の点滅箇所を抜粋したソースを示します。Routine簡単に説明すると、シールド未実装の場合はLED2_Blink()が実行され、BSP_PB_Init()で設定された割込みでHAL_GPIO_EXTI_Callback()が実行されBlinkSpeedをインクリメント、HAL_Delay()で点滅間隔が変わる、となります。そこで、main.cのL574のHAL_Delay(500)をHAL_Delay(1000)などへ変更し、ビルド→デバッグでLD2の点滅間隔が変われば、構築した開発環境が正しく構築できたことを、評価ボードを使って検証できます。perspectiveをデバッグに切換えた画面を示します。Configurations...で、STM32F072B0-Nuclei.elfを見つけてください。他の設定は、デフォルトで問題ありません。Configurationsデバッグ中は、評価ボードST-Link部実装の2色LED(赤緑)がキラキラして眩しいです。SW4STM32の使い勝手は、画面切り替えにperspectiveクリックが必要など、NXPのMCUXpressoと比較すると、やや劣る操作性です。IDEに近いのだと思います。さいごにSTMマイコンは、他社比ROM/RAM容量が大きいわりに低価格です。CMSISやHALを使うと、これぐらいの大きさが必要になるのだと思います。M系コア性能に依存しないソフト開発ができるので、既に第5位ですが更に脚光を浴び始めるベンダかもしれません。mbedでも使える評価ボードの入手性も良いので、今のうちに個人レベルで習得すると、慌てずに済むお勧めMCUです。