このサイトではNucleo-F401REを中心に話を勧めます。

Nucleo-F401RE (Nucleo64)の機能

  
コア Cortex-M4
最大動作クロック 84 MHz
動作電圧 3.3V
フラッシュメモリ 512kバイト
SRAM 96kバイト
汎用タイマー 7
高機能タイマー 1
SPI/ I2S 3
I2C 3
USART 3
SDIO 1
USB OTG FS 1
ADC 12-bit / 16ch


DACを持っていないのが玉にキズですが、全ピン5Vトレラントなので安心してArduinoシールドを差し手遊べます。


さてNucleoのプログラミングはCubeMXというコードジェネレーターを起動するところから始まります。CubeMXはペリフェラル(周辺機能)の初期化コードを出力するアプリケーションです。以前は初期化コードは全て手書きで書いていましたが、これが実に大変な作業でした。STM32のペリフェラルはパラメーターが多いので初期化だけでもかなりの量のコードを書かなければなりません。初期化コードは一度書いて関数化すれば楽になりますが、初心者にとってはそこに辿り着くまでが茨の道でした。その作業を大幅に簡略化してくれるのがCubeMXです。CubeMXはGUIでペリフェラルの設定を行い、C言語の初期化コードを出力してくれます。もっとも個々のパラメーターの意味を知らなければペリフェラペリフェラルを設定することすら無理ですから、すぐ誰でもお手軽に!というワケにはいきませんが、まぁそれは追々ということで・・・。


このサイトではNucleoのプログラミングは


1.CubeMXでMCUの設定をして初期化コードを作る。

2.CoIDEのプロジェクトへ初期化コードを追加する。

3.ユーザーコードを追加する。


という手順になります。ちなみに有償の開発環境ではCubeMXとの連携しているので、1~2の作業がシームレスに行えます。フリーの開発環境のCoIDEでは手作業でファイルを移動・追加しなければならないのでちょっと面倒です。手動でCoIDEプロジェクトを作るのはけっこう面倒臭い作業ですがCubeMX2CoIDEを使うと簡単になります。