STM32 DFU升级APP程序

2019-07-21 00:13发布

1、大家是否觉得STM32用串口下载大点的程序代码很慢呢?
2、晚上抽时间玩了下STM32的DFU升级APP功能,的确好玩点,呵呵。。。具体用到的库和例程参考官网
http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF258157
3、DFU度娘了一下,是一个什么标准来的,不是很懂,大伙们就自己查看相关的资料哈
4、废话少说,先上两张效果图(我简单的用个RTC的实验做的,至于其他的留给大家了)
图1:战舰开发板进入DFU模式时显示界面,好简单,复杂点的自己折腾去,嘿


图2:这个是DFU升级完APP程序后运行的效果(上面显示的时间日期不准的哈,不要见怪

大家看到了,很简单的界面,对,简洁得体,呵呵
5、因为记录这个笔记的时候太长了我就不贴出来了,大家直接附件查看即可。里面图文并茂的,自个儿认为已经很详细了。。。最后添加工程的文件效果

图解:A、红 {MOD}框框的就是用到的USB库了,非必要情况下不用修改
      B、蓝 {MOD}框框的就是这次用到的底层连接相关的实现代码

6、我使用的是原子的战舰STM32开发板,至于Mini STM32开发板,因为我手上没有,所以这个就留给大家了
7、有一点要说明的就是,在Bootloader程序中的“dfu_mal.c”这个代码中有这么一个函数uint16_t MAL_GetStatus(uint32_t SectorAddress , uint8_t Cmd, uint8_t *buffer)这个函数至于干啥用的,大家看名字就知道了(不知道的面壁思过去,嘿)。如果你升级的APP程序比较大的时候建议还是将它完善,至于为什么,可以参考《STM32F10xxx闪存编程参考手册.pdf》这个文档。貌像这个函数直接返回MAL_OK也是可以的喔
8、昨晚也看了下原子战舰光盘的例程,发现有个串口IAP实验,哈,开发指南也说的很明白了,在此对原子哥再次膜拜一下下,强大。。。
9、电脑端的软件使用的是ST官网的一个软件,这个软件的名字叫“DfuSe_Demo_V3.0_Setup.exe”我在官网上面没有搜索到,是在百度上面找到的,本贴在附件上也倾情奉上了。至于使用请参考百度上的方法或者附件中的《STM32 DFU升级APP程序移植笔记.pdf》中的第七步、APP程序的下载操作


制作:Sam Chan
日期:2014/03/15凌晨

注:
1、“战舰STM32_DFU_Bootloader.zip”压缩包里面包括了Bootloader程序代码和APP代码
2、发现这个DFU下载速度还是挺快的,大伙们觉得串口和JTAG都慢的话可以试下这个,呵呵
3、附上Bootloader和APP程序中都用到相同中断时的冲突问题的解决方法,详情请看附件或者帖子
http://www.openedv.com/posts/list/28635.htm





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
52条回答
z1234zz
1楼-- · 2019-07-25 21:00
mark,谢谢!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
八度空间
2楼-- · 2019-07-25 22:43
回复【34楼】lieren007:
---------------------------------
谢谢!!!!!
八度空间
3楼-- · 2019-07-26 03:35
回复【35楼】z1234zz:
---------------------------------
谢谢!!!!!
microbai
4楼-- · 2019-07-26 07:07
我也是,到最后upgrade时就出行了“bad state machine in firmware”了。大概进行到18%左右。。
八度空间
5楼-- · 2019-07-26 09:04
 精彩回答 2  元偷偷看……
microbai
6楼-- · 2019-07-26 14:54


这个是我新电脑的截图,我还有一台XP也这样。。。板子是战舰板

一周热门 更多>