STM32C0で最新32ビットMCU開発短期習得

STM32 Nucleoボード一覧(1M Flash以下 出展:STM32 MCU Developer Zone)
STM32 Nucleoボード一覧(1M Flash以下 出展:STM32 MCU Developer Zone)

STマイクロの1MバイトまでのFlash搭載STM32 Nucleo評価ボード一覧です(STM32 MCU Developer Zone掲載図から抜粋)。紺色のMainstream:汎用MCU評価ボードが多いことが判ります。

今回は、2023年3月発売の評価ボード:NUCLEO-C031C6を使って、最新Cortex-M系32ビットMCU開発を短期習得する方法を示します。

1. 短期習得に適すSTM32C0シリーズ

この評価ボードのMCU:STM32C031C6(Cortex-M0+/48MHz、Flash/32KB、RAM/12KB、LQFP48)は、STマイクロが8/16ビットMCU置換えを狙った新しい32ビットSTM32C0シリーズです。開発のし易さ、価格の低さ、入手性の良さが特徴です。

STM32C0シリーズの「C」は、Compact、またはCost-effectiveのCを表していると思います。同じLQFP48のSTM32G0シリーズとブロッグ図を比べると差分が判ります(「G」は、多分Generalを表す)。

STM32C031とSTM32G081の比較
STM32C031とSTM32G081の比較

どちらもCortex-M0+コア採用の汎用MCUです。違いは、STM32C0は、アナログや通信などの内蔵周辺回路、Flash/RAM容量を、8/16ビットMCU置換目的に必要最小限にし、G0比コストダウンを図っていることです。

つまり、STM32C0は、STM32汎用MCUシリーズの中で、最もBasicな周辺回路のみを備えたシリーズです。この周辺回路の少なさが、MCU開発をシンプルにし、短期習得に適す理由です。

2. 入手性・開発拡張性良いNUCLEO-C031C6評価ボード

NUCLEO-C031C6
NUCLEO-C031C6

STM32C0搭載の評価ボードNUCLEO-C031C6は、低価格で入手性が良く、ボード上にユーザLED/SW、拡張シールド接続用Arduinoコネクタ、デバッガ(ST-LINK/V2-1)が実装済みです。

関連投稿:Arduinoコネクタが評価ボードに多い理由

PCとUSB接続すれば、MCUプログラミングとデバッグ、PC Tera-Termで評価ボードとのVirtual-COM通信が可能です。Virtual-COMは、MCUでの様々な処理結果をPCで直接確認できるので便利です。

NUCLEO-C031C6が、最初の図で多くの汎用MCU評価ボードの一番下(Basic)であることもポイントです。

NUCLEO-C031C6で開発したHAL API利用ユーザソフトウェアは、MCU差に依存しない移植性の高さがありますので、処理性能不足時は、より上側の高性能ボードへユーザソフトウェア載せ替えも容易な訳です。

関連投稿:HALとMCUソフトウェア開発

3. サンプルコードが多いNUCLEO-C031C6評価ボード

MCUソフトウェア開発には、慣れが必要です。この慣れには、STM32C0シリーズサンプルコードを読み、かつ動作させるのが近道です。

NUCLEO-C031C6は、全73個のサンプルコード動作環境として使えます(2023年9月現在)。これは、他のSTM32C0評価ボードと比べ格段の多さです。

お勧めは、下図に示すHAL API利用の16個サンプルコードです。この16個HALサンプルコードだけを理解しても、STM32MCU開発初心者卒業と言えると思います。

NUCLEO-C031C6で動作するHAL APIサンプルコード(出展:AN5892)
NUCLEO-C031C6で動作するHAL APIサンプルコード(出展:AN5892)

初めはサンプルコードを詳しく理解する必要はありません。初期設定と無限ループの2つに分けて動作させれば、コード内容は自ずと判ってきます。ボード搭載デバッガは、ブレークポイント設定やRAM内容表示もできるので便利です。

関連投稿:組込み処理の基本のキ

4. 情報整理に役立つSTM32C0オンライントレーニング

STM32C0オンライントレーニングは、MCU開発情報の整理・習得確認に便利です。

但し、初めからこれらトレーニング資料を読むことはお勧めしません。おぼろげながらでも、開発全体像が見えた段階で、各資料読むと理解・整理が進むからです。前章サンプルコードを試した後がお勧めです。

サンプルコードやトレーニング資料は、エキスパートが作成します。残念ながらエキスパート作成資料は、初めての方には難解だと思います。

MCU習得も「習うより慣れろ」が当てはまります。案外簡単なことでも文章では難解さが強調されます。評価ボードとサンプルコードがあれば、とにかく動作が目視確認できます。

トレーニング資料は、動作目視後に頭の中を整理し、習得度を確認する際に便利と言えます。

Summary:STM32C0で最新32ビットMCU開発の短期習得

本稿は、最新汎用STM32C0を使って、回り道や障壁がなるべく低くなるMCU開発習得方法を示しました。

  1. 8/16ビット置換え用周辺回路厳選の低価格32ビットMCU:STM32C0
  2. デバッガとユーザLED/SW実装で入手性良いNUCLEO-C031C6評価ボード
  3. NUCLEO-C031C6で即実行できる多数の周辺回路サンプルコード
  4. 習得・情報整理に役立つSTM32C0オンライントレーニング

これらSTM32C0シリーズ特徴を持つ4つの開発環境を使うと、個人でも最新STマイクロ32ビットMCU開発の短期習得が簡単にできます。

Afterword:個人レベルスキル向上で老化日本対策

老化は、国レベルでも進行します。日本の少子・高齢化がもたらす2040年問題。全体同調意識の強い老化日本では、その対策は期待できません。

残る策は、個人レベルのスキル向上です。IoT MCU開発スキルは、激変技術世界でも生き残る有力策の1つと思います。