STM32 下载烧录教程以及问题汇总

注意:STM32F401系列以及STM32F411 V3.0版本自2023年已经停产,如现在还能购买到,不是WeActStudio生产的,如有质量问题请找对应商家解决!!目前STM32F411核心板生产版本为V3.1,注意辨别。

支持的下载方式

1
2
3
4
SWD下载:所有STM32系列都支持
ISP模式下载:
串口烧录:几乎STM32系列都支持
USB烧录(DFU下载):STM32F4系列、STM32H7系列、STM32U585系列、STM32G4系列和STM32G0B1系列等

ISP模式下载

通过ISP模式下载程序,有两种烧录方法:

  1. 串口下载,需要USB转串口
  2. USB下载(推荐,STM32F103不支持),只需要一根数据线。

进入ISP模式的方法

  • 方法1:上电状态下,按住BOOT0键和复位键,然后松开复位键,0.5秒后松开BOOT0键
  • 方法2:掉电状态下,按住BOOT0键,上电后0.5S松开BOOT0键

连接方法

  • USB下载:USB数据线连接板子的TYPE-C或USB接口
  • 串口下载:USB转串口模块,TX → PA10 ,RX → PA9

下载软件推荐STM32CubeProgammerWeAct Studio Download Tool

1
2
3
4
5
软件下载链接
百度网盘下载:
链接: https://pan.baidu.com/s/5cdUxxlNBMhIWb_SnhLAKcw
夸克网盘下载:
链接: https://pan.quark.cn/s/c0c9ed63597e

串口下载

USB转串口模块 (例如CH340) TXPA10 ,RXPA9,不要将MCU的USB连接到电脑,必须使用外部供电,不然会影响MCU下载。串口下载有两个烧录工具,一个是ST官方的STM32CubeProgammer,另一个是我们推出的免安装烧录工具 WeAct Studio Download Tool

使用STM32CubeProgammer进行串口下载

软件选择UART模式
STM32CubeProgrammer 串口下载1
连接成功后拖入固件,点击Download按键,等待下载完成,断开连接,复位即可完成
STM32CubeProgrammer 串口下载2

使用WeAct Studio Download Tool进行串口下载

  1. 解压WeAct Studio Download Tool
  2. 双击WeAct Studio UART Download Tool.bat
  3. MCU进入ISP模式
  4. 输入串口号,按回车确认
  5. 拖入固件,按回车确认
  6. 下载结果如图所示

USB下载(DFU下载)

USB下载也有两种烧录工具,一个是ST官方的STM32CubeProgammer,另一个是我们推出的免安装烧录工具 WeAct Studio Download Tool

使用STM32CubeProgammer进行USB下载

出现Error: failed to download Segment[0]怎么解决,见ISP模式下载常见问题

  1. STM32CubeProgrammer选USB模式
  2. MCU进入ISP模式,使用USB数据线连接电脑
  3. 设备管理器->通用串行总线设备出现STM32 Bootloader或者DFU in FS Mode设备,
    如果是STM Device in DFU Mode,请看为什么烧录软件找不到设备,根据说明操作
  4. 拖入固件
  5. 点击Download开始下载
  6. 下载完成后断开连接,复位即可

使用WeAct Studio Download Tool进行USB下载

出现Error: failed to download Segment[0]怎么解决,见ISP模式下载常见问题

  1. 解压WeAct Studio Download Tool
  2. 双击WeAct Studio USB Download Tool.bat
  3. MCU进入ISP模式,使用USB数据线连接电脑
  4. 设备管理器->通用串行总线设备出现STM32 Bootloader或者DFU in FS Mode设备,
    如果是STM Device in DFU Mode,请看为什么烧录软件找不到设备,根据说明操作
  5. 拖入固件,点击回车开始下载,忽略Error: Start operation failed错误,不影响程序下载的完整性
  6. 烧录结果如下,复位即可

常见问题

为什么烧录软件找不到设备

如果设备管理器出现的设备是STM Device in DFU Mode,烧录软件将无法正确识别设备,需要右键卸载设备同时勾选删除此设备的驱动程序软件,之后再安装WeAct Studio Download Tool/DFU_Driver/Driver/目录下的驱动,选择STM32Bootloader.inf,右键选择安装

出现Error: failed to download Segment[0]怎么解决

USB下载受天气影响可能存在一定的不稳定性,如反复出现如下ERROR或者出现设备无法识别,请采用串口下载,并断开USB连接。

1
2
Error: failed to download Segment[0]
Error: failed to download the File

上述ERROR造成原因:室温偏低,HSI产生偏差,USB下载使用的是外部高速晶振,而ISP程序ST的自举程序)通过HSI测量外部晶振HSE频率然后再配置时钟,当HSI偏差过大,HSE测量频率不正确,从而使得USB时序不对,造成下载错误。具体详情可见网盘 /通用文档/AN2606 STM32微控制器系统存储器自举模式.pdf

解决方法:适当加热MCU至25°C以上(用手捂热

ST-Link/J-link下载

连接STM32的SW接口:

SW接口
GND
SCK
DIO
3.3V

在MDK软件点击下载按钮或者在STM32CubeProg中选择ST-Link根据提示操作即可。

注意事项

  1. CubeMX工程或标准库工程,要使能SW调试接口,不然调试器是不能识别出MCU
  2. 代码工程晶振设置不对或其他异常导致调试器不能识别MCU,此时手动设置MCU进入ISP模式,调试器就能识别出MCU,再点击下载即可
  3. ISP模式只是ST公司固化在MCU里面的一段启动代码,检查BOOTx设置,运行模式则转跳地址0x08000000运行,下载模式则等待下载命令,此时SW调试下载接口是开放的,调试器可以读取下载MCU代码。
  4. 调试接口分SW接口和JTAG接口,ARM的调试器基本都支持SW接口
  5. JLink 能连接上芯片,但是不能下载,请升级Jlink驱动到最新版本,V6.50a测试可用
JTAG接口 转接 SW接口
TMS SWDIO
TCK SWCLK
VTEST 1脚 某些JLink需要接到3.3V才识别MCU 3.3V
3.3V 3.3V
GND GND

JTAG接口 和 SW 接口

这里强烈推荐使用调试器烧录程序,方便快捷,亦可调试
网上老旧资料较多,推荐参考ST官网比较科学
关于stm32的下载烧录问题,不定时更新

一个致力于设计独一无二电子模块的工作室