STM32CubeIDEの設定

STM32CubeIDEでマイコンにプログラムを書き込む

はじめに

STM32CubeIDEは、STマイクロエレクトロニクス社が提供しているSTM32マイコンの統合開発環境です。プロジェクト生成機能やSTM32マイコンの初期化コード自動生成ツールを統合したオール・イン・ワンの統合開発環境になっています。

用意するもの

Basic Kit 2 パソコン (Windows、macOS、または Linux)

事前準備

Javaのインストール

STM32CubeIDEを動かすには、Javaが必要です。こちらからインストールして下さい。

STM32CubeIDEのインストール

STM32CubeIDEのインストーラをこちらからダウンロードして下さい。
次に、インストーラは、Cドライブの直下で実行して下さい。詳しくは、こちらを参照して下さい。

STM32CubeProgのインストール

STM32MCUにプログラムを書き込むために、STM32CubeProgが必要です。こちらからインストールして下さい。

Tera Teamのインストール

STM32CubeIDEは、プログラムをアドオンしないとシリアルポートの出力が出来ないので、Tera Termsを使います。
こちらからインストールして下さい。

クイックスタート

「Hello Wold」の事例で、STM32CubeIDEの使ったプログラムの作成からシリアルポートの出力までを紹介します。使用するソフトウエアは以下の通りです。

  • プロジェクトの作成からビルドまで:STM32CubeIDE
  • プログラムの書込み:STM32CubeProg
  • シリアルポートの出力:Tera Term

プロジェクトの作成

  1. STM32CubeIDを起動すると、STM32CubeID Launcherの画面が表示されます。

  2. ワークスペースは、以下のデフォルトのままを使用し、Launch をクリックします。

    • Work Space :C:\Users\ユーザ名\STM32CubeIDE\workspace_1.11.2

  3. FileNEW → STM32 Project を選択し、暫く経つと、STM32 Project の画面が表示されます。

  4. 今回は、STM32 MCUリーフにプログラムを書き込むので、画面左上のMCU/MPU Sectorをクリックします。

  5. 画面左のCommercail Part Numberに、STM32L452REI6を入れて下さい。

  6. 画面右にSTM32L452REI6を選択してNextをクリックすると、Setup STM32 projectの画面が現れます。

  7. Setup STM32 projectの画面に、以下を入力して、Finishをクリックすると、Hello_World.iocの画面が現れます。

    • Project Name : Hello_Worldと記入
    • Targeted Language : C++を選択
    • Targeted Binary Type : Excutableを選択
    • Targeted Project Type : STM32Cubeを選択

デバイスの設定(初期化コードの自動生成)

  1. Hello_World.iocで、UARTの設定をします。

  2. PA2PA3のPortを使ってシリアル通信をするので、Pinout & Configureationの画面で設定をします。
    設定方法は、Port番号を左クリックして以下を選択します。

    • PA2 : USART2_TXを選択
    • PA3 : USART2_RXを選択

  3. 画面左のConnectivityUSART2をクリックすると、USART2 Model & Configrationの画面が現れます。
    Modelでは、以下の設定をします。
    Configrationは、デフォルトで使用します。(ボーレートの設定は115200を使用。Parameter Settingsで変更可能)

    • Model : Asynchronous
    • Hardware Flow Control(RS232) : Disable
    • Hardware Flow Control(RS485) :チェックを入れない(デフォルト)


  1. ProjectGenerate Codeをクリックすると、Debugのフォルダの中にmain.cのコードが自動生成されます。

コードの記述

  1. main.cの自動生成されたコードに、ユーザコードを追記します。
  • 24行:stdio.hは、入力/出力のヘッダーファイルを読み込ませます。
/* USER CODE BEGIN Includes */
#include <stdio.h>
/* USER CODE END Includes */
  • 68行:printfを呼び出す前に、初期化します。
/* USER CODE BEGIN 1 */
        setbuf(stdout, NULL);
/* USER CODE END 1 */
  • 101行:1秒毎に、「Hello World」を出力させます。
  /* USER CODE BEGIN 3 */
    printf("Hello World\r\n");
    HAL_Delay(1000);
  • 200行:printfを実装して、UARTでテキストを送信します。
/* USER CODE BEGIN 4 */
int _write(int file, char *ptr, int len)
{
  HAL_UART_Transmit(&huart2,(uint8_t *)ptr,len,10);
  return len;
}
/* USER CODE END 4 */
  1. main.cが書けたらビルドをします。ProjectBuild Allをクリックして、ビルドして下さい。ログに0 errors, 0 warningsが表示されたらOKです。

STM32CubeProgによるプログラムの書込み

  1. こちら を参考に、LeafonyをPCに接続し、STM32 MCUリーフのプログラムスイッチをプログラム側(LED点灯)にし下さい。

  2. STM32CubeProgを起動させて下さい。

  3. 画面右の接続先をUARTにし、Connectをクリックして下さい。

  4. 画面左のErasing & Programingをクリックして、以下の設定をします。

    • File path: C:\Users\ユーザ名\STM32CubeIDE\workspace_1.11.2\HelloWorld\Debug\HelloWorld.elfを選択
    • Veryfy programing にチェツク

  5. Start Programmingをクリックし、Download verified successfullyが表示されたらokです。

シリアルポートの出力

  1. ファイル新しい接続先をクリックし、シリアルポートを接続します。
  2. 次に 設定シリアルポートをクリックし、スポードを115200を選択します。
  3. Hello Wolrdが1秒毎に表示されれば、okです。


Tips

プロジェクトのインポート

  1. STM32CubeIDを起動すると、STM32CubeID Launcherの画面が表示されます。

  2. ワークスペースは、以下のデフォルトのままを使用し、Launch をクリックします。

    • Work Space :C:\Users\ユーザ名\STM32CubeIDE\workspace_1.11.2

  3. FileOpen Project From File System on Archieves を選択すると、Import Project From File System on Archieves の画面が表示されます。

  4. ソースを選択し、Finishをクリックすると、Project Explorerが立ち上がります。

    • Import Source : C:\Users\ユーザ名\STM32CubeIDE\workspace_1.11.2\プロジェクト名 を選択

  5. プロジェクトを終了する時は、Project Explorerからプロジェクトを右クリックしDeleteします。

  6. Project Explorerは、WindowShow ViewProject Explorerで立ち上がります。

前のページに戻る


  1. Githubには、プロジェクトのファイルを一度でアップロード出来ません。何回か分割してアップロードすれば出来ます。 
    ↩︎

最終更新 June 16, 2023