WithHappySTM32マイコンテンプレートを開発するにあたり、秋月電子さん販売中の多くのSTM32評価ボードのうち、Cortex-M0のNUCLEO-F072RBとCortex-M3のNUCLEO-F103RBを選びました。今回は、この選定理由を示します。MCU情報から、NUCLEO-F072RB選定の決め手となった資料が下記4つです。tools1)はボード毎に提供されるサンプルソフト数を記載し、STM32F072RBが134個と断トツに多いことが判ります。STM32F072RBとは、NUCLEO-F072RB実装MCUです。MCU/ボードの混在表記なので注意が必要です。2)は、1)のサンプルソフト詳細内容が示されています。IDEプラグインなどの3動作モードと使用法が書かれています。4)は、STM32MCU開発に使える4IDEの紹介です。これら資料から、STM32マイコンテンプレートの開発環境を以下としました。16MB、DAC/CAN/USB等)・統合開発環境:SW4STM32(無償版コード生成サイズ制限なし)+STM32CubeMxプラグイン※KeilのuVision(MDK-Lite)は、STM32F0/L0専用ライセンスを使うとコードサイズ256KBまで利用可能です。F0/L0専用となりSTM32F1開発(NUCLEO-F103RB選定理由参照)には残念ながら使えませんのでやめました。F0/L0のみ開発をする方は、2018年2月までの期間限定のようですが、無料で全機能使えます(少し使ってみた感想はエディタが貧弱ですがまあまあという感じです)。数種類の評価ボードが簡単に入手できても、STM提供サンプルソフト数が少ないものもあります。弊社マイコンテンプレートは、これらサンプルソフトが簡単に組込めることを特徴としますので、サンプル数の多さは、テンプレート活用機会も多くします。以上のことから、STM32マイコンテンプレート開発環境を決めました。microcontrollersなど)がサイト内に散りばめられていて、ハッキリ言ってCypressサイトなどと比較すると、平面的で資料が見つけにくいサイト構成です。掲載資料は、いずれも優秀なエンジニアが書いたものと思われ、英文量は多いものの中身は良好です。STM32マイコンテンプレート開発では、このSTMサイトリンクもブログ記事に積極的に掲載しようと思います。私の下手なブログ記事を読むより、STMサイトへ直接アクセスする方が良い読者も多いと思うからです。MCUを使う弊社STMマイコンテンプレートのご購入者が増えることも期待もしております。Cortex-M3)これまで弊社テンプレート対象MCUは、Cortex-M0/M0+クラスでした。前回記事に記載したようにRTOSやCMSIS普及を考慮すると、このクラスに拘る必要が薄くなってきました。MCU価格では、Cortex-M4のSTM32F303K8T6が410円、Cortex-M0のSTM32F042K6T6が250円とややM4が高いものの、ここで使うM0/M3評価ボード価格は、どちらも1500円で同じです(2017年5月秋月販売価格)。製品の大きさが許せば、評価ボードをそのまま製品へ実装するというのは、いつも私が考える製品構想です。評価ボードが同価格なので、コア性能が不足しても、ホードごと載せ替え可能で安心です。boardで詳細が解ります。STM32ソフトウエアスタック(UM1779掲載)から、コアクラスの依存性が低いテンプレート作りも可能だと思います。Layerを使ってテンプレート開発すれば、STM32F0(Cortex-M0)以外にSTM32F1(Cortex-M3)、他のコアへも適用できると考えるからです。20MB、CAN/USB等)です。LLの方が高速処理可能でしょうが、HALの移植性の高さも捨てがたい利点があります。NUCLEO-F103RBそこで、STM32マイコンテンプレートでは、あえてF0やF1などと対象コアを明記せず、両方に対応できる(と今は思っている)HAL版テンプレートと、速度重視のLL版テンプレートの両方を開発する予定です。HALで共通化できない場合には、LL版のみをリリースします。この開発経緯などもブログに記載していきます。*STMのMCUが、2016年マイコン売上5位というのは驚きでした。少なくとも私の周りにはSTMマイコンを使う人がいなかったからです。入手性も良く評価ボードも低価格です。STMサイトの情報がもう少し解り易く整理されれば、日本でも人気がでるMCUだと思います。HALやCMSIS対応も他社に比べて早そうなので、今後の発展性も期待できます。まとめると、STM評価ボードは、サンプル数の多さからCortex-M0のNUCLEO-F072RBを選び、M0/M0+とM3とのテンプレート共通化検証のためCortex-M3のNUCLEO-F103RBを選びました。IDEベースのSW4STM32へSTM32CubeMXをプラグインしてテンプレート開発に使います。私は、STMサイト構成が、平面的、網羅的で情報検索しにくいと思うので、ブログに関連資料などへのリンクを掲載し、テンプレート開発経緯を記載していきます。