7.打开C:\Program Files\STMicroelectronics\DfuSe\BIN\dfufilemgr.exe 选择 I want to generate a dfu file from s19 ,hex or bin ok 选择s19 or hex 选择gpio工程生成的gpio.hex 点击generate 保存为gpio.dfu
: u- m. W$ u; o3 X
8.打开C:\Program Files\STMicroelectronics\DfuSe\BIN\dfusedemo.exe 8 `6 S4 |' I. V, y: U1 c按下那个板子上自带方向按钮,重新加电,如果驱动安装正确,会显示stm device in dfu mode" I$ p5 Z* h$ g# q" {5 m" n
然后点击右下脚的choose,选择刚才生成的gpio.dfu 2 w0 D1 w$ h( A) z5 `8 s2 m点击upgrade ' o; U+ O, r& w3 I
ok ! y4 ^( R' U5 H* K& N9 G7 o2 b固件烧写成功。(注意:加电前请务必先按下那个板子上自带方向按钮,按下此按钮表示执行IAP应用程序,否则执行用户程序)
* _5 p% c; W; l* e. ]% j T- u% _
9.点击左上角的leave dfu mode,ok 是不是发现小板上的几个led灯在闪烁了。
: r, ]8 T( u+ S: f) d5 y# g7 V
10.呵呵,到此结束。
5 U1 z3 d) e4 f5 `: _
8 K- h' W% i' x' X4 J 源代码:<span style="font-size: larger"> 9 T/ O6 |6 M0 e2 O [5 f % d$ b6 O4 P' @$ z7 @1 j3 H 7 M7 E f7 P" O p3 gstm32内部有两个flash区域,一个是system flash,用于存放iap代码,该区域不对用户开放。一个是user flash,这个部分供用户使用。而system flash块固化了uart iap,这里的iap程序是用了部分user flash。所以IAP程序中有个判定,这里我用了3合1板上的那个joystick按钮,按下去的时候执行IAP程序,不按的话,程序跳转到0x8003000处执行。所以可以直接用3合1板子上的usb口直接下载程序到user flash的0x8003000以后的flash空间. , _% d% K; h8 W# y! G
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
回复:3合1的stm32 usbiap 操作详解
1.解压3in1_stm32.rar。
按下那个板子上自带方向按钮,重新加电,如果驱动安装正确,会显示stm device in dfu mode" I$ p5 Z* h$ g# q" {5 m" n
然后点击右下脚的choose,选择刚才生成的gpio.dfu
点击upgrade ' o; U+ O, r& w3 I
ok
固件烧写成功。(注意:加电前请务必先按下那个板子上自带方向按钮,按下此按钮表示执行IAP应用程序,否则执行用户程序)
源代码:<span style="font-size: larger">
stm32内部有两个flash区域,一个是system flash,用于存放iap代码,该区域不对用户开放。一个是user flash,这个部分供用户使用。而system flash块固化了uart iap,这里的iap程序是用了部分user flash。所以IAP程序中有个判定,这里我用了3合1板上的那个joystick按钮,按下去的时候执行IAP程序,不按的话,程序跳转到0x8003000处执行。所以可以直接用3合1板子上的usb口直接下载程序到user flash的0x8003000以后的flash空间. , _% d% K; h8 W# y! G
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解
RE:3合1的stm32 usbiap 操作详解