Free&Easy Life https://passport2.21ic.com/?813973 [收藏] [复制] [RSS] USB、单片机、嵌入式、机器人... ...

日志

免驱动的DFU —— HidDfu,简简单单就能实现APP的IAP在线升级

已有 969 次阅读2015-6-2 08:04 |系统分类:嵌入式系统| 在线升级, IAP, DFU, 免驱动, 无驱, IAP, DFU

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

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

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

简单:免驱动,插上就能用。
好用:打开EXE就能操作,直接打开S19/bin文件就能下载。支持所有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固件。

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)