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 固件燒寫成功。