🔰

STM32F446REをUARTでLチカさせた話

2024/09/18に公開

背景

STM32F446REのボードを,デバッカ部分をもぎ取られた状態で入手したので,UARTで書き込んで人生で初めてSTM32を触りました.

環境

  • Windows 11(x86,64ビット)
  • STM32cubeIDE v1.16.0
  • STM32 Flash loader demonstrator (UM0462) (replaced by STM32CubeProgrammer)
    • この記事では以降Flasher-STM32と呼びます

使用したもの

  • PC
  • STM32F446RE
  • AE-FT234x USBシリアル変換器(秋月のリンクはこれ)

手順概要

  • STM32cubeIDE,Flasher-STM32のインストールと各種設定
  • USBシリアル変換器とSTMをジャンパーとかで接続
  • 書き込み
  • チカチカ

[1]を参考にしました.

STM32cubeIDEのインストール

だれでもできる.にひは[2]を参考にしました.プログラムにSTMはじめてでさっぱりだったので,丸々パクりました.

Flasher-STM32のインストール

だれでもできる.ここからダウンロードしました.

STM32cubeIDEの設定変更

defaultではbuildしてもbinファイルで出力されない設定になっています.binファイルを出力するように設定を変更していきます.

Project>Properties>C/C++Build>Settingsの
"Tool Settings"の
"MCU/MPU Post build outputs"

で"Convert to binary file (-O binary)"にチェックマークを付け,"Apply and Close"を押して設定ウィンドウを閉じます.
設定ウィンドウ

再びbuildをすると,Debugのディレクトリ内にbinファイルが生成されます.

binファイルを作成する

IDEでbuildしてbinファイルを作成します.buildまでの手順は基本的に[2]のとおりなので省略させていただきます.

USBシリアル変換器とSTM32F446REを接続

STM32F446REを以下のように接続します.書き込むときは写真のようにbootモードにするための接続が必要になるのでお忘れなく!!

STMボードのpin USBシリアル変換器のpin
5V 5V
GND GND
D2 TX
D8 RX

作成したbinファイルを書き込む

  1. USBをつなぎます.
  2. Flash Loader Demonstratorを開きます.
  3. シリアルポートを選択して"Next"を押します.
  4. この画面になったらOKです,"Next"を押します.
  5. こんな感じでちゃんとつなげられてますね!! "Next"を押します.
  6. "Download to device"にチェックを入れ,先ほどbuildしたbinファイルを選択し,"Next"を押します.
  7. これで書き込み完了です.

Lチカを動かす

書き込んだら,USBを外し,bootモードにするためにつないでいたジャンパー線を外します.再びUSBつないだり,STM32に電源を与えてあげると,プログラムが動きます.

参考

[1]STM32 シリアルブートローダーを使ってみる moon's STM32づくし(2024/09/18閲覧)
https://moons.link/post-270/
[2]STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 Lチカ編 @usashirou(2024/09/18閲覧)
https://qiita.com/usashirou/items/65be086c28f7a6feac7d

Discussion