作者:
来自:http://www.cnblogs.com/glguan/archive/2012/01/31/2333872.html
1.下载STM32_USB-FS-Device_Lib_V3.2.1.rar
2.安装DfuSe_Demo_V3.0_Setup.exe。
3.打开...\STM32_USB-FS-Device_Lib_V3.2.1\Project\Device_Firmware_Upgrade\MDK-ARM\DFU.uvproj
修改://#define ApplicationAddress 0x08003000为#define ApplicationAddress 0x08004000(因为要修改程序增加空间)
编译程序,用stlink/Jlink将程序下载到STM32中。
4.用usb线连接STM32板,PC端出现发现新硬件。
5.安装驱动,如果第二步默认安装的话,选择驱动C:\Program Files\STMicroelectronics\Software\DfuSe\Driver
6.打开应用程序工程,
6.1) 编译选项设置 在IROM1 start处设置0x8004000;
6.2) 修改中断向量表偏移量:( VECT_TAB_OFFSET 0x0---> 0x04000)
#ifdef USB_DFU_MODE //hy@
#define VECT_TAB_OFFSET 0x04000
#else
#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field.
This value must be a multiple of 0x100. */
#endif
6.3) 编译选项设置output 钩上create HEX File ok 设置好编译。
7.打开C:\Program Files\STMicroelectronics\Software\DfuSe\BIN\DfuFileMgr.选择 I want to generate a dfu file from s19 ,hex or bin ok 选择s19 or hex 选择应用程序工程生成的STM3210E-EVAL.hex 点击generate 保存为20120131.dfu
8.打开C:\Program Files\STMicroelectronics\Software\DfuSe\BIN\DfuSeDemo.exe如果驱动安装正确,会显示stm device in dfu mode 然后点击右下脚的choose,选择刚才生成的20120131.dfu 点击upgrade ok 固件烧写成功。