STM32 DFU下载与 DFU生成工具

发一个适合所有STM32 的下载教程。
由于手头上没有STLINK等可用的调试器,所以一直没能将CANNON用起来,偶然发现STM32支持DFU模式,可以通过USB下载固件,一切搞定。
DFU是通过STM32的USB下载的,所以STM32的USB接口得引出。
1. 下载安装ST的DFU下载 工具:http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/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。
 
 
//
//另一篇参考文章///
//
 
 

1. 下载并安装 Dfu 工具

下载地址:http://www.st.com/en/development-tools/stsw-stm32080.html

安装过程:省略

安装完 Dfu 工具后,发现在开始菜单下多了两个程序:Dfu file manager 和 DfuSeDemo。如下图所示:

 

要想制作 dfu 文件的话,这两个工具一个都不能少。

2. 安装驱动

驱动在安装目录\STMicroelectronics\Software\DfuSe v3.0.6\Bin\Driver这个目录下,如下图所示:

按照系统安装驱动即可。

3. 制作 Dfu 文件

在网上看了很多有关 Dfu 的提问,发现很多人都是卡在了 Dfu 文件的制作这一环节,因此本人又专门查了各路大神写的教程,终于发现了一种简单又实用的方式,步骤如下:

(1)打开 DfuSeDemo,会发现在软件的右上角有一个 DFU Mode 区,里面包含3个信息:Vendor ID、Procuct ID、Version,如下图所示:

这3个信息对于 dfu 文件相当重要,但是这3个信息怎么获取呢?

很简单,把 stm32 上的 boot0 接 VCC、boot1 接 GND,再把设备直接往电脑上一插,若提示安装驱动失败,就选择手动安装驱动,找到 Dfu 工具的安装目录,下面有驱动,安装即可。安装完成后,就可以获取这3个信息了。如下图所示:

(2)打开 Dfu file manager,会看到软件的左边有3个信息:Vendor ID、Product ID、Version ID,这3个信息就对应 步骤(1) 中获取到的3个信息,复制过来即可。如下图所示:

(3)最重要的一步来到了,如何生成 dfu 文件?生成 dfu 文件,即生成 dfu 格式的文件。这个软件可以将其他两种格式的文件转换成 dfu 文件:hex 文件和 bin 文件,这里选择 bin 文件。因为在网上有很多人说 hex 文件转换 dfu 文件的话总是出错,本人也试过了,确实是会出错,因此选择 bin 文件。bin 文件的制作查看《Keil生成bin文件》这篇文章。

点击 Multi BIN... 按钮,如下图所示:

进入 Multi Bin injection...(v3.0.5) 界面,点击 ... 按钮,找到 bin 文件,Adrress 改为 08000000,点击 Add to list >> 按钮,最后点击 OK 即可。

上面的步骤完成后,会在Dfu file manager 生成相应的信息,如下图所示:

点击 Generate 按钮就完成了 dfu 文件的生成。

4. 下载 dfu 文件

打开 DfuSeDemo 软件,点击 Upgrate or Verify Action区的 Choose 按钮,查找到 dfu 文件,然后点击 Upgrade 按钮即可。如下图所示:

 

  • 12
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值