HidDfu能支持GD32F103XX了
https://bbs.21ic.com/forum.php?mo ... &fromuid=813973
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,以后会逐步增加支持种类。
适用于STM/GD32F10X的HidDfu固件使用注意事项:
1、适用于Low-density、Medium-density、High-density devices
也就是Flash空间<=512KBytes的STM/GD32F102xx and STM/GD32F103xx。
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固件。 |