打印
[信息]

免费使用,免驱动的DFU —— HidDfu。再也不用为了一个dfu装...

[复制链接]
4156|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
insignal|  楼主 | 2015-6-1 15:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 insignal 于 2016-4-28 08:30 编辑

ST有现成的DFU固件可以实现APP的在线升级
但是这个DFU需要安装驱动,还需要装上软件才能用。
而且,这个DFU还能从芯片中读取FLASH中的代码到电脑上。

这个DFU只能在实验室里使用,没法在生产线上使用,更无法在用户端使用。
而且即便能在实验室使用,使用起来也是很麻烦,首先要将编译链接出来的文件转成DFU文件,然后才能在DFU工具中使用。

如今,您只要使用我们推出的免驱动DFU—— HidDfu。就再也没有上述的烦恼。
而且...  这个是免费使用的。


简单:免驱动,插上就能用。
好用:打开EXE就能操作,直接打开bin/S19文件就能下载。支持所有32位/64位WinXp/7/8。
安全:下载代码后比对是在HidDfu固件中进行,不读取Flash中任何代码到电脑上。
HidDfu产品包括HidDfu固件和一个PC端的UI工具。固件和工具请到网盘下载:http://pan.baidu.com/s/1o6yw6ts#path=%252FHidDfu

目前的HidDfu固件只支持STM32F10X,以后会逐步增加支持种类。

适用于STM32F10X的HidDfu固件使用注意事项:
1、适用于Low-density、Medium-density、High-density devices
     也就是Flash空间<=512KBytes的STM32F102xx and STM32F103xx。
2、HidDfu从地址0开始执行
     Boot0必须是0
     HidDfu.s19请用jlink+j-flash或其他工具下载到main flash中,起始地址0x08000000
3、HSE必须是8M
     可以是8M时钟源直接输入到OSC_IN pin
     可以是8M石英晶体
     无论是哪种,精度必须优于±0.25% (2500ppm)
4、USB接口
     USB DP的1.5K上拉电阻是始终接到3.3V上的,不是由IO控制
5、App编译起始地址
     HidDfu固件占用12KBytes的Flash空间。
     App只能使用12KBytes之后的Flash空间,所以App起始地址必须是0x08003000
     在APP的system_stm32f10x.c文件中定义:#define VECT_TAB_OFFSET  0x3000

6、下载标志
     HidDfu固件使用OptionByte中的Data0作为进入APP的标志。
     HidDfu固件在写标志时将擦除OptionByte中除了读保护以外的其他字节。
     APP清除该下载标志后,再插拔USB,将重新进入HidDfu。
7、清除标志的代码如下。在APP代码中增加如下代码段,执行这段代码就可以回到HidDfu
#include "stm32f10x_flash.h"
... ...
FLASH_Unlock();
FLASH_EraseOptionBytes();          //erase HidDfu go2app flag
FLASH_Lock();

HidDfu产品可以免费使用于非商业用途
如果您要用于商业用途,请联系我们support@freeeasy-life.com
我们提供定制服务:比如将APP的bin文件加密集成到工具exe中;

我们还将推出HidDfu方式的生产工具,只要芯片中已下载HidDfu,就可以用生产工具批量下载App固件。
沙发
insignal|  楼主 | 2015-8-13 17:43 | 只看该作者
HidDfu增加支持STM32F105/107系列芯片
详细资料请到 http://pan.baidu.com/s/1o6yw6ts#path=%252FHidDfu下载

5.1.适用于STM32F105/107系列所有芯片
STM32F105x8、STM32F105xB、STM32F105xC
STM32F107xB、STM32F107xC
5.2.HidDfu从地址0开始执行
Boot0必须是0
HidDfu.s19请用jlink+j-flash或其他工具下载到main flash中,起始地址0x08000000
5.3.HSE外部晶振/晶体必须是8M或者25M
可以是8M/25M时钟源直接输入到OSC_IN pin
可以是8M/25M石英晶体
无论是哪种,精度必须优于±0.25% (2500ppm)
如果是HSE不是8M/25M,可联系我们定制。
5.4.USB接口
USB DP的1.5K上拉电阻是始终接到3.3V上的,不是由IO控制
5.5.App编译起始地址
HidDfu固件占用16KBytes的Flash空间。
App只能使用16KBytes之后的Flash空间,所以App起始地址必须是0x08004000
在APP的system_stm32f10x.c文件中定义:#define VECT_TAB_OFFSET  0x4000
并且在链接配置中,修改起始地址,以IAR-EWARM为例:
工程Project — Option — Linker — Config,点击Edit,如下图配置
5.6.下载标志
HidDfu固件使用OptionByte中的Data0保存APP下载标志。
HidDfu固件在写标志时将擦除OptionByte中除了读保护以外的其他字节。
APP清除该下载标志后,再插拔USB,将重新进入HidDfu。
清除标志的代码如下:在APP代码中增加如下代码段,执行这段代码就可以清除APP下载标志。
#include "stm32f10x_flash.h"
... ...
FLASH_Unlock();
FLASH_EraseOptionBytes();          //erase HidDfu go2app flag
FLASH_Lock();

使用特权

评论回复
板凳
wangzhihai1986| | 2015-8-13 19:00 | 只看该作者
不错,顶起。

使用特权

评论回复
地板
insignal|  楼主 | 2016-4-3 10:19 | 只看该作者
现在能支持GD32F103XX系列芯片了

使用特权

评论回复
5
insignal|  楼主 | 2016-4-19 09:03 | 只看该作者
现在能支持用户固件加密,可安全分发

使用特权

评论回复
6
幻刺| | 2019-2-13 10:08 | 只看该作者

使用特权

评论回复
7
xinpian101| | 2019-2-13 12:34 | 只看该作者
老铁挖出来也是可以的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

232

帖子

1

粉丝