ISP模式下载
通过ISP模式下载程序,我们支持两种烧录方法:一种是串口下载,需要USB转串口;另一种是USB下载(推荐),只需要一根数据线。
进入ISP模式的方法
- 方法1:上电状态下,按住BOOT0键和复位键,然后松开复位键,0.5秒后松开BOOT0键
- 方法2:掉电状态下,按住BOOT0键,上电后0.5S松开BOOT0键
连接方法
- USB下载:USB数据线连接板子的TYPE-C接口
- 串口下载:USB转串口连接PA9、PA10
下载软件推荐STM32CubeProgammer,
WeAct Studio Download Tool
串口下载
USB转串口 (ex.:CH340) TX
- PA10
,RX
- PA9
,同时不要将MCU的Type-C
连接到电脑,必须使用外部供电,不然会影响MCU下载。串口下载有两个烧录工具,一个是ST官方的STM32CubeProgammer,另一个是我们推出的免安装烧录工具 WeAct Studio Download Tool
(推荐)
使用STM32CubeProgammer进行串口下载
使用WeAct Studio Download Tool进行串口下载
点我下载WeAct Studio Download Tool
- 解压
WeAct Studio Download Tool
- 双击
WeAct Studio UART Download Tool.bat
- 拖入固件,或者输入软件目录下的固件名,回车输入串口号,单片机进入ISP模式,再回车开始下载
- 下载结果如图所示
USB下载(DFU下载)
USB下载也有两种烧录工具,一个是ST官方的STM32CubeProgammer,另一个是我们推出的免安装烧录工具 WeAct Studio Download Tool
(推荐)
使用STM32CubeProgammer进行USB下载
- STM32CubeProgrammer勾选USB模式
- MCU进入ISP模式,使用USB数据线连接电脑
- 设备管理器->通用串行总线设备出现
STM32 Bootloader
或者DFU in FS Mode
设备,如果是STM Device in DFU Mode
,请看为什么烧录软件找不到设备,根据说明操作 - 拖入固件,确保MCU已经进入ISP模式,点击
Download
开始下载 - 断开连接,复位即可
使用WeAct Studio Download Tool进行USB下载
- 解压
WeAct Studio Download Tool
- 双击
WeAct Studio USB Download Tool.bat
- MCU进入ISP模式,使用USB数据线连接电脑
- 设备管理器->通用串行总线设备出现
STM32 Bootloader
或者DFU in FS Mode
设备,如果是STM Device in DFU Mode
,请看为什么烧录软件找不到设备,根据说明操作 - 拖入固件,或者输入软件目录下的固件名,确保MCU已经进入ISP模式,点击回车开始下载,忽略
Error: Start operation failed
错误,不影响程序下载的完整性 - 烧录结果如下,然后复位即可
为什么烧录软件找不到设备
如果设备管理器出现的设备是STM Device in DFU Mode
,烧录软件将无法正确识别设备,需要右键卸载设备同时勾选删除此设备的驱动程序软件,之后再安装WeAct Studio Download Tool/DFU_Driver/Driver/
目录下的驱动,选择STM32Bootloader.inf
,右键点选安装
出现Error: failed to download Segment[0]怎么解决
USB下载受天气影响可能存在一定的不稳定性,如反复出现如下ERROR或者出现设备无法识别
,请采用串口下载,并断开USB连接。
1 | Error: failed to download Segment[0] |
上述
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根据提示操作即可。
- CubeMX工程或标准库工程,要使能SW调试接口,不然调试器是不能识别出MCU
- 代码工程晶振设置不对或其他异常导致调试器不能识别MCU,此时手动设置MCU进入ISP模式,调试器就能识别出MCU,再点击下载即可
- ISP模式只是ST公司固化在MCU里面的一段启动代码,检查BOOTx设置,运行模式则转跳地址
0x08000000
运行,下载模式则等待下载命令,此时SW调试下载接口是开放的,调试器可以读取下载MCU代码。 - 调试接口分SW接口和JTAG接口,ARM的调试器基本都支持SW接口
- JLink 能连接上芯片,但是不能下载,请升级Jlink驱动到最新版本,V6.50a测试可用
JTAG接口 | 转接 | SW接口 |
---|---|---|
TMS | SWDIO | |
TCK | SWCLK | |
VTEST 1脚 | 某些JLink需要接到3.3V才识别MCU | 3.3V |
3.3V | 3.3V | |
GND | GND |
WeAct_HID_FW_Bootloader 下载
点我下载软件
仅支持STM32F4系列核心板
STM32F4核心板出厂时已经预烧录了HID Bootloader
STM32F401CC、STM32F401CE、STM32F411CE 核心板均可使用,实现类似 51 单片机下载,但无需串口,只需一根数据线,
和修改Keil工程两个地方(详情见视频)即可实现。速度比串口下载更快且更方便
APP 工程修改方法
- 修改工程ROM起始地址为
0x8004000
- main()函数开头增加以下代码
1
SCB->VTOR = FLASH_BASE | 0x4000;
软件使用步骤
- 将核心板用数据线连接电脑,出现WeAct HID设备
- 按住KEY键,重新上电或复位进入Bootloader
- 软件选择固件,点击<下载固件>即可完成下载
- 所选固件会随KEIL重新编译而更新,无需重新选择
进入Bootloader方法
- 按住<KEY键>,重新上电或复位,
C13 LED
闪烁即可松开 - APP进入Bootloader 参考stm32f401_test_APP 0x8004000.zip 工程
在Bootloader 中
- 单击/双击<
KEY键
>为C13 LED
亮灭 - SW 调试口开放,可以用调试器烧写,无需进入DFU模式
退出Bootloader 方法
- 复位MCU, 复位键/上位机点击<MCU 复位>
- 长按<
KEY键
>,C13 LED
闪烁即可松开
注意事项
- 首次烧录
Bootloader
,MCU不会往下运行,同时C13 LED
200MS闪烁,只需再次复位MCU即可 Bootloader
以及APP烧录软件源码均不开放
使用教程视频
这里强烈推荐使用调试器烧录程序,方便快捷,亦可调试
网上老旧资料较多,推荐参考ST官网比较科学
关于stm32的下载烧录问题,不定时更新
一个致力于设计独一无二电子模块的工作室