我们学习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)→ USB D-
    • PA12(DP)→ USB D+
  • 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. 总结

  1. 开发调试 → ​ST-LINK(SWD)​ 或 ​J-Link
  2. 量产/简单烧录 → ​串口(UART)​
  3. USB 设备升级 → ​USB DFU
  4. 专业调试 → ​J-Link

按照我一直以来的推荐是:​

  • 初学者 → ​ST-LINK + SWD
  • 低成本方案 → ​串口(UART)​
  • 高级开发 → ​J-Link

希望本文能帮助你选择合适的 STM32 烧录方式!🚀

✅作者简介:新手懒羊羊

❤欢迎关注我的CSDN:新手懒羊羊

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐