STM32烧录方式详解:ST-LINK、串口、JTAG、SWD
ST-LINK 是 ST 官方推出的调试/烧录工具,支持 。
·
我们学习STM32时,要注意有多种烧录(编程)方式,不同方式适用于不同场景。接下来我将详细介绍常见的烧录方法,包括 ST-LINK(SWD/JTAG)、串口(UART)、USB DFU、J-Link 等,并分析它们的优缺点及适用场景。
1. ST-LINK(SWD / JTAG)
1.1 基本介绍
ST-LINK 是 ST 官方推出的调试/烧录工具,支持 SWD(Serial Wire Debug) 和 JTAG 两种接口,适用于开发和调试。
1.2 连接方式
SWD(推荐)
- 仅需 2 根信号线 + GND:
SWDIO
→PA13
(STM32)SWCLK
→PA14
(STM32)GND
→GND
(必须连接)3.3V
→3.3V
(可选,建议目标板独立供电)
JTAG
- 需要 5 根信号线:
TMS
→PA13
TCK
→PA14
TDI
→PA15
TDO
→PB3
nTRST
→PB4
(可选)GND
→GND
3.3V
→3.3V
(可选)
1.3 适用场景
- 开发阶段(需要调试)
- Keil、STM32CubeIDE、IAR 等 IDE 调试
- 快速烧录,支持断点调试
1.4 优缺点
优点 | 缺点 |
---|---|
支持调试(单步执行、断点) | 需要专用调试器 |
烧录速度快 | 占用部分 GPIO(PA13/PA14) |
适用于所有 STM32 型号 |
2. 串口(UART)烧录
2.1 基本介绍
通过 USART(串口) 烧录程序,需进入 Bootloader 模式,适用于无调试器的情况。
2.2 连接方式
- USB-TTL 转接器(如 CH340、CP2102):
TX
→PA10
(STM32 RX)RX
→PA9
(STM32 TX)GND
→GND
- Boot 引脚设置:
BOOT0
=1
(接 3.3V)BOOT1
=0
(接 GND)- 复位芯片(进入 Bootloader)
2.3 适用场景
- 量产烧录
- 无调试需求
- 低成本方案
2.4 优缺点
优点 | 缺点 |
---|---|
无需专用调试器 | 无法调试 |
仅需 USB-TTL 模块 | 需手动切换 Boot 引脚 |
适用于所有 STM32 | 烧录速度较慢 |
3. USB DFU(Device Firmware Upgrade)
3.1 基本介绍
通过 USB 接口 直接烧录程序,适用于无串口或调试器的情况。
3.2 连接方式
- USB 数据线(D+、D-):
PA11
(DM)→ USBD-
PA12
(DP)→ USBD+
- Boot 引脚设置:
BOOT0
=1
(接 3.3V)BOOT1
=0
(接 GND)- 复位芯片(进入 DFU 模式)
3.3 适用场景
- 无串口/USB-TTL 时
- STM32 带 USB 接口的型号(如 F103、F407)
3.4 优缺点
优点 | 缺点 |
---|---|
无需额外硬件 | 需 USB 驱动(如 STM32 DFU) |
适用于 USB 设备 | 部分芯片不支持 |
4. J-Link(SWD / JTAG)
4.1 基本介绍
J-Link 是 SEGGER 推出的专业调试器,支持 SWD / JTAG,适用于高级调试。
4.2 连接方式
- SWD(推荐):
SWDIO
→PA13
SWCLK
→PA14
GND
→GND
- JTAG:
TMS
→PA13
TCK
→PA14
TDI
→PA15
TDO
→PB3
nTRST
→PB4
(可选)
4.3 适用场景
- 专业开发(RTOS、复杂调试)
- Keil、IAR、Embedded Studio 等 IDE
4.4 优缺点
优点 | 缺点 |
---|---|
支持高级调试 | 价格较贵 |
速度快,稳定性高 | 占用部分 GPIO |
5. 其他烧录方式
5.1 ISP(In-System Programming)
- 通过 SPI / I2C 烧录(较少使用)
- 适用于特定场景(如 OTA 升级)
5.2 离线烧录器
- ST-LINK 脱机版、J-Flash
- 适用于 量产烧录
6. 如何选择合适的烧录方式?
方式 | 适用场景 | 是否需要调试 | 硬件需求 |
---|---|---|---|
ST-LINK(SWD) | 开发调试 | ✔️ | ST-LINK |
串口(UART) | 量产/简单烧录 | ❌ | USB-TTL |
USB DFU | USB 设备升级 | ❌ | USB 线 |
J-Link | 专业开发 | ✔️ | J-Link |
ISP(SPI/I2C) | 特殊应用 | ❌ | 适配器 |
7. 总结
- 开发调试 → ST-LINK(SWD) 或 J-Link
- 量产/简单烧录 → 串口(UART)
- USB 设备升级 → USB DFU
- 专业调试 → J-Link
按照我一直以来的推荐是:
- 初学者 → ST-LINK + SWD
- 低成本方案 → 串口(UART)
- 高级开发 → J-Link
希望本文能帮助你选择合适的 STM32 烧录方式!🚀
✅作者简介:新手懒羊羊
❤欢迎关注我的CSDN:新手懒羊羊
更多推荐
所有评论(0)