大连创客空间

 找回密码
 立即注册吧!

QQ登录

只需一步,快速开始

一键登录:

搜索
查看: 758|回复: 0
收起左侧

STM32F4xx DFU 的一些使用心得

[复制链接]
发表于 2015-9-23 08:06:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多交流,硬件的世界向你敞开大门!

您需要 登录 才可以下载或查看,没有帐号?立即注册吧!

x
以前的产品ISP用的是串口,新的产品必须使用USB口,响应的ISP就改为 DFU 了,
开始想简单了事,直接套用 STM32 DFU 库, T*** 实际使用起来既不简单又费事,关键不稳定,要不停止响应,要不PC死机,它那个驱动还用ST PIV/VID 加密了,并且驱动没有源代码.
没办法只能仔细了解 DFU 了,原来 DFU 也是一个标准, 很多的手机固件更新就是通过 DFU 来的.既然是标准就选开源的了.

以 Windows 平台为例,开发 DFU 需要准备的工具和源代码.最终建成一个不依赖 ST DFU 库的 DFU 下载工具.

A. 主工具:
1.dfu-util
这个开源工具在 0.6 版本上实现了对 stm32 DFU 的有限支持,我们就以dfu-util为基础,开发出能够通过 DFU 下载程序,又不依赖 ST DFU 库的工具软件.
dfu-util 需要 libusb 1.0 支持.
下载地址:
http://dfu-util.gnumonks.org/releases/dfu-util-0.6-win32.zip

2.libusb
libusb 1.0 使用了 WinUSB 作为底层驱动.
http://sourceforge.net/projects/ ... b-1.0/libusb-1.0.9/

B.辅助工具:
1.ST DFU Demo 库, ST DFU 对普通 DFU 作了扩充为 Dfuse, 参考他的源代码可以补充 dfu-util 中不足的 ST 命令,比如 0x92 去除读保护命令.
http://www.st.com/internet/com/S ... /SW_DEMO/um0412.zip


2.libwdi
主要使用 libwdi 的 zadig 工具,安装或生成基于 WinUSB 或者 Libusb 的驱动程序.简化驱动程序生成.
git clone git://libwdi.git.sourceforge.net/gitroot/libwdi/libwdi

3.WinDDK
如果要从源代码重新构建所有的二进制文件, WinDDK 是必须的
http://www.microsoft.com/en-us/d ... ang=en&id=11800

目前在我的Window平台上,重新编译了 dfu-util 和 zadig 工具,DFU 下载比 232 快了很多. 原来 50s 的时间,DFU完成同样的功能 ~10s
附近是用最新源代码重新编译的 dfu-util 和 zadig , 对 DFU 感兴趣的朋友可以下载测试.







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册吧!

本版积分规则

单片机开发者1群:235808606;会员QQ 6群:254085994; 1群:12835691(满); 2群:121061287(满); 3群:237320668(满);4群:249652919(满);5群:253578883(满);大赛1群:187926790(满),2群:231577758(满),3群:249652919(满)。 TI杯4群:58129202(满)。
载入中

QQ|手机版|小黑屋|Archiver|大连创客空间 ( 辽ICP备15004617号-2  

GMT+8, 2017-1-19 18:45 , Processed in 0.236949 second(s), 29 queries .

地址:辽宁省大连市高新园区火炬路7号17层 QQ:2401085253

Copyright © 2010-2015 创客空间(大连)科技有限公司 All Rights Reserved.

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