STM32(STM32F103C8T6)用の開発環境を構築したのでそのメモを残します。
使用機器
マイコンボード:STM32F103C8T6
書き込み機:ST-Link V2
シリアルUSB変換:FT232RL搭載小型USB-シリアルアダプタ 3.3V
電源:昇圧型DCDCコンバータ 5V(単体動作用)
STM32用開発環境(STM32CubeMX)のインストール
STマイクロエレクトロニクスのサイトから入手、インストールする。
Visual Studio Codeのインストール
Microsoft社のサイトからVisual Studio Codeを入手、インストールする。
次にPlatformIOをインストールする。Visual Studio Codeで左端メニューから拡張機能(Extension)をクリックし、PlatformIO IDEを検索、インストールする。
プロジェクトの作成
PlatformIOから「New Project」する。このときボードをSTM32F103C8とすること。
生成されたプロジェクト内にある「platformio.ini」を開き、「[env:genericSTM32F103C8]」というセクション内に「monitor_speed = 115200」と「build_flags = -DENABLE_HWSERIAL2」を追加する。2つ目の設定をしないと後述するシリアルUSB変換を使用できない。
配線
STM32を中心にST-LinkとシリアルUSB変換とMicro USBを接続します。
ST-Linkについては以下のように接続します。
ST-Link STM32F103C8T6
3.3V <———> 3.3
GND <———> GND
SWDIO <———> DIO
SWCLK <———> DCL
シリアルUSB変換は以下のようにマイコンと接続し、Mini USBをPCに接続します。これがシリアルモニターとなります。
シリアル変換 STM32F103C8T6
RX1 <———> A9
TX1 <———> A10
3V3 <———> 3.3
GND <———> GND
MicroUSBはPCにそのまま接続します。これが書き込み用のインタフェースとなります。
コンパイルと書き込み
main.cppを開いた状態で、画面下端にある「✔」(Build)でコンパイル、「→」(Upload)で書き込みを行います。
ちなみにマイコンを省電力のためにshutdownしてしまうと書き込めません。書き込むタイミングに合わせてSTM32ボード上のリセットボタンを押しましょう。