メインコンテンツまでスキップ

PlatformIO を使用した STM32 のデバッグ

PlatformIO を使用して LED 点滅コードをデバッグしましょう。

STM32のデバッグ​

PlatformIO を使用した STM32 のデバッグは簡単です。 ST-LINK V2 書き込み器を使用して、ブレークポイントを設定し、変数を監視し、コードをステップ実行できます。

事前準備​

このチュートリアルでは、以下の機器を使用します。

BlackPill STM32 ボード​

MCU:STM32F411CEU6 ボード: WeAct Black Pill V2.0 回路図

安価なクローン BlackPill STM32 ボードは 4 ドル以下で購入できます。他の STM32 ボードを使用することもできますが、platformio.ini ファイルと LED ピン番号を変更する必要があります。

これは、ファームウェアをボードにアップロードし、コードをデバッグするために必要です。 安価なクローン ST-LINK V2 は 5 ドル以下で購入できます。

開発環境の準備​

VSCode と PlatformIO​

PlatformIO は、VSCode 拡張機能マーケットプレイスからインストールできます。

STM32CubeProgrammer​

ファームウェアを基板に書き込むためのツールです。

リポジトリの取得​

git clone --branch blackpill-led-blink-arduino https://github.com/yuichiroaoki/stm32-tutorial.git
cd stm32-tutorial

クイックスタート​

  1. BlackPill STM32 ボードを ST-LINK V2 書き込み器に接続します。

    ST-LINK V2 Clone
    上の画像のように、ST-LINK V2 と BlackPill STM32 ボードを接続します。

  2. ST-LINK V2 書き込み器を PC に接続します。

  3. VSCode でプロジェクトフォルダーを開きます。

  4. main.cpp を開き、任意の行番号をクリックしてブレークポイントを設定します。

    ブレークポイントでプログラムを一時停止し、その時点の変数の値を確認できます。

    Set a breakpoint

  5. 左側のサイドバーの Run and Debug をクリックし、Start Debugging ボタンをクリックしてデバッグを開始します。

    ブレークポイントで実行が停止したら、変数の値を確認します。たとえば、SystemCoreClock にはシステムクロックの周波数が格納されています。下の画像では 96 MHz です。

    Debug-stm32

このチュートリアルでは、Arduino フレームワークを使用して、PlatformIO で STM32 ボードをデバッグしました。ただし、STM32Cube を使用してデバッグすることもできます。

参考文献​