三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1429|回复: 0
打印 上一主题 下一主题

STM32 DFU下载与 DFU生成工具

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
跳转到指定楼层
楼主
发表于 2018-4-25 10:14:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发一个适合所有STM32 的下载教程。
由于手头上没有STLINK等可用的调试器,所以一直没能将CANNON用起来,偶然发现STM32支持DFU模式,可以通过USB下载固件,一切搞定。
DFU是通过STM32的USB下载的,所以STM32的USB接口得引出。
1. 下载安装ST的DFU下载 工具:http://www.st.com/web/en/catalog ... 961/SS1533/PF257916
2. CANNON给的示例工程是keil的,设置一下让其 输出hex文件:

3. 编译,将生成的hex转成bin文件。附件中 提供了hex2bin工具(有源码支持所有平台)。
       >hex2bin.exe a.hex
4. bin转dfu文件。dfuse下载工具支持.dfu的文件下载,需要将固件转成dfu格式,这也是本篇的核心。虽然dfuse软件自带了Dfu file  manager,但是我发现在使用 hex或bin转成 dfu的时候老是提示转换失败不是有效的文件。网上找了很多方法,都是使用dfu  file manager进行转换,偶然接触一个开源项目发现有个python的工具可以将 bin转成dfu。dfu.py,需要安装python,可以到https://www.python.org/downloads/下载安装。
      STM32只需输入:
     >python dfu.py -b 0x08000000:a.bin a.dfu
支持的参数如下:
%prog [-d|--dump] infile.dfu
%prog {-b|--build} address:file.bin [-b address:file.bin ...] [{-D|--device}=vendor:device] outfile.dfu"""
5. 将CANNON的P4用跳帽连接(USB供电),BOOT0连接VCC, BOOT1连接GND,板子连接电脑后会提示安装驱动,手动找到DFUse安装目录,下面有驱动,安装成功后可以用DFUse Demo连接开发板了:


6.选择a.dfu固件,点击update完成下载。
7. BOOT0,BOOT1接GND,从flash启动。OK。
回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2026-3-24 01:06 , Processed in 0.026129 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表