1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VS Codeを用いた"STM32 Nucleo Board STM32F446RE"の開発環境

Last updated at Posted at 2025-03-03

概要

VSCodeを用いた"STM32 Nucleo Board STM32F446RE"の開発環境の構築方法を紹介します。
PCのOSはWin11(おそらく他のOSでも可能)、プロジェクトはCubeMXで生成してHALドライバを使えるようにします。

用意するもの

  • STM32 Nucleo Board STM32F446RE (開発環境を整えるだけなら必要なし)
  • PC (Win11。おそらく他のOSでも可能)

準備

VSCodeのインストール

この記事を読んでいる人はすでにインストール済みだとは思いますが、未インストールの方はここからインストールしてください。
VSCode

VSCodeに拡張機能をインストール

VSCODEに拡張機能"STM32 VS Code Extension"をインストールしてください。
image.png
(参考:https://www.st.com/content/st_com/ja/campaigns/stm32-vs-code-extension-z11.html)

STM32CubeMXとSTM32CubeCLTのインストール

以下から"STM32CubeMX"と"STM32CubeCLT"をインストールしてください。
MySTアカウントが必要になると思うので、持っていない人は作成してください。
STM32CubeMX
STM32CubeCLT

この2つのソフトはWindows版をダウンロードしてください。
(〇〇〇-Win.exeのような名前です)

念のためPCを再起動

VSCode、STM32CubeMX、STM32CubeCLTこれらをインストールしたら念のためPCを再起動した方が良いと思います。

新しいプロジェクトの作成

STM32CubeMXを起動

まず、STM32CubeMXを起動します。
スタートから名前で検索するとよいと思います。

プロジェクトの作成

  1. New projectの"ACCESS TO BOARD SELECTOR"をクリックします。
    image.png

  2. 検索ボックスに使いたいボードの名前を入力し、リストからそのボードを選択します。その後、"Start Project"をクリックします。
    image.png

  3. ダイアログが表示されるのでペリフェラルをデフォルト設定にしたい場合は"Yes"をクリックします。
    (特にこだわりがなければ、とりあえず"Yes"でいいと思います。)
    image.png

  4. この画面が表示されたら、"Project Manager"をクリックします。
    image.png

  5. "Project Name"に好きな名前、"Project Location"にプロジェクトを保存したいフォルダ名、"Toolchain/IDE"にCmakeを入力します。
    image.png
    コード生成するためのファームウェアのバージョンを固定化しておいたほうが良いかも知れません。 (Project Managerの下の方で設定できます。)
    image.png

  6. "GENERATE CODE"をクリックします。
    初回のコード生成時は足りないファームウェア等をダウンロードするために、MySTアカウントにログインを求められる場合があります。
    image.png

  7. これでプロジェクトの作成は完了です。

VSCodeでプロジェクトを開く

拡張機能でプロジェクトフォルダを開く

"STM32CubeMX"で生成したプロジェクトをVSCodeの拡張機能"STM32 VS Code Extension"で開きます。
この操作をすることで、VSCodeの自動タスクに関する設定json等が自動で生成されるようです。
image.png

この操作はプロジェクトを新しく作成した後の初回のみでOKです。
その後は直接VSCodeでフォルダを開けば良いです。

試しにNucleoに書き込んでみる

そのまま書きこんでも何も動かないので、書き込めているか分からないため、Lチカプログラムを試しに書き込んでみてください。
main.cに以下のように追加してください。

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART2_UART_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
+    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
+    HAL_Delay(1000);
+    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
+    HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

追加したら、NucleoをPCに接続してください。そして、タブから"Terminal"->"Run Task..."->"Build + Flash"->"Continue without scanning the task output"と選択してNucleoに書き込みます。
image.png
image.png
image.png
Lチカが確認できたら、書込み成功です。

まとめ

今回はNucleoの最低限な開発環境をVSCodeで構築する方法を紹介しました。
この記事が誰かの参考になれば幸いです。

今後はVSCodeでのデバッグ方法等を調べて、記事にしようと思います。
デバッグに関しては、ST-LINKをアップグレードするだけでできました。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?