LoginSignup
12
12

More than 3 years have passed since last update.

STM32マイコンの書き込み方法の種類

Last updated at Posted at 2019-12-28

(初学者です)
 STM32マイコンのチップ単体の書き込みに関することです。どんな種類があるのか簡単に説明します。各書き込み方法の詳細は、説明しません。

はじめに

 STM32 32bitマイコンを利用する際、最小のピン数で書き込みたい。
 そのため、書き込みに必要なピン数を調べるため、各書き込み方法を比較してみました。
 一応この記事ではSTM32L432KCU6に書き込む際に困り、調べたことを書いているので、STM32のもっと高性能なF7とか、MP1に関してはどうなってるかわかりません。

STM32マイコンの書き込み方法の種類

 STM32マイコンの書き込み方式ではJTAGやSWD(Serial Wire Debug)、シリアル通信(UART)、DFU(Device Firmware Upgrade)などが存在します。

方式名 必要ピン数 説明
SWD 2+電源 デバッガにより書き込む
JTAG 4+電源 デバッガにより書き込む
UART 2+電源 汎用シリアル変換により書き込む+ブートローダの起動が必要なため、BOOT0ピンを切り替える必要あり
DFU 2+電源 USBで直接接続して書き込む+ブートローダの起動が必要なため、BOOT0ピンを切り替える必要あり

 ※ここではプログラムの書き込みに必要なピンの本数です。トレースをする場合は、SWDは3線+電源が必要です。
追記2020/03/10 SWDによる変数の値の確認などのデバッグは2線+電源で動作できそうです(STM32CubeIDEでOpenOCDにて確認)。シリアルワイヤビューワや文字出力を利用する場合(トレース)は3線+電源が必要っぽいです。
 ※BOOT0ピンを切り替えるということは、ピンが1本増えるか、スイッチが必要になります。(ここではBOOT1は省略)
 ※DFUは対応していない製品もあるかも(調べてないです)。
 STM32CubeIDEでは、デバッグ構成で、SWDかJTAGを選択することができます。

結論

 書き込みピンの本数的に、おすすめはSWDです。DFUもデバッガが必要なく、USBで書きこめることは面白いが、デバッガをもってたら、いらん子かも?
 STM32CubeIDEでの書き込みも、初期設定ならSWDで書き込まれます。
 SWDでは、SWDIOとSWCLKの2線で書き込むことができ、トレースをするには、SWOを接続する必要がある(多分)。
注: これらは書き込みに限った話であり、デバッグの性能を比べると、SWD以外の書き込み方法にも利点があるかも。

参考サイト↓
12
12
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
12
12