[其他ST产品] STM32的三种更新固件的方式

[复制链接]
 楼主| 大鹏2365 发表于 2023-7-18 16:17 | 显示全部楼层 |阅读模式
说明:
stm32有三种更新固件的方式,分别为(1)DFU模式( Development Firmware Upgrade 即“开发固件升级”);(2)SWD/JLINK 下载 (3)第三方bootload下载;

一、DFU模式
DFU模式原理主要依靠stm32自带bootload,也就是开机的时候,按住boot键,然后上电;
在驱动安装正常的情况下,查看设备管理器会出现STM32BOOTLOAD的设备;此时就可以通过USB或者串口直接烧录固件;

STM32CubeProg
这里介绍一款软件,也就是stm32自带的STM32CubeProg软件:

下载和安装
关于安装请参考这篇文章:

https://blog.csdn.net/Brendon_Tan/article/details/107686371
————————————
9871964b64ab2c095e.png 载固件

[color=rgb(180, 180, 180) !important]首先将stm32按住boot键,然后插入USB连接电脑,检查设备管理器是否出现STM32BOOTLOAD;




 楼主| 大鹏2365 发表于 2023-7-18 16:29 | 显示全部楼层
下载固件
首先将stm32按住boot键,然后插入USB连接电脑,检查设备管理器是否出现STM32BOOTLOAD;

2042464b64d5e0c72a.png

 楼主| 大鹏2365 发表于 2023-7-18 16:29 | 显示全部楼层
如下如所示:
(1)点击使用usb连接;
(2)选择下载固件;
(3)加载hex或者axf文件格式的固件;
(4)点击烧录;

334664b64d8598050.png
 楼主| 大鹏2365 发表于 2023-7-18 16:30 | 显示全部楼层
二、SWD/JLINK 下载
使用swd下载固件的可以使用STLINK软件或者是Keil等IDE,但是需要连接stm32的SWD两条线;
一般需要调试程序的时候就需要用这个方式,也主要是为了调试程序;
 楼主| 大鹏2365 发表于 2023-7-18 16:30 | 显示全部楼层
三、第三方bootload下载
第三方的bootload和第一种bootload的区别就在于,第一种是stm烧写到rom上的,芯片出厂就有的;
而第三方的bootload一般存在芯片的flash区,一般是0x8000000开始;也就是和固件放在同一个位置,可以理解就是固件的一部分;
但是第三方固件的好处就是下载的方式特别的灵活,可以使用任何一种通信接口进行固件更新,只要可以传输数据就行;
比如说网络升级、串口、can总线、spi、usb等等
MessageRing 发表于 2023-7-18 23:21 | 显示全部楼层
bootload好是好,但是得自己写就很麻烦
Wordsworth 发表于 2023-12-29 07:05 | 显示全部楼层

主从定时的方式占用CPU资源少
Clyde011 发表于 2023-12-29 08:08 | 显示全部楼层

主从定时器门控的方式
公羊子丹 发表于 2023-12-29 09:01 | 显示全部楼层

主定时器为TIM1,通道2配置为PWM输出
万图 发表于 2023-12-29 10:04 | 显示全部楼层

中断计数的方式实现简
Uriah 发表于 2023-12-29 11:07 | 显示全部楼层

当PWM频率较高时,频繁的中断将影响程序运行的效率
帛灿灿 发表于 2023-12-29 13:03 | 显示全部楼层

都可以产生指定个数的PWM脉冲
Bblythe 发表于 2023-12-29 14:06 | 显示全部楼层

输出了5个频率为10KHz的PWM脉冲
周半梅 发表于 2023-12-29 16:02 | 显示全部楼层

从定时器为TIM2,从模式选择为门控模式,触发源选择ITR0,开启定时器2中断。
Pulitzer 发表于 2023-12-29 17:05 | 显示全部楼层

根据实际需求选择用哪种方式
童雨竹 发表于 2023-12-29 19:01 | 显示全部楼层

使能主从模式,触发事件选择为更新事件,不需要开启中断。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

692

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

61

主题

692

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部