
STM32全系列的芯片是支持ISP功能的。进入ISP的方式就是BOOT0置1,然后上电或复位,这时候芯片从系统存储区启动。这时就可以通过串口或其它接口进行程序烧写。* r/ v7 m/ L7 w8 Q 6 I7 t1 |6 K! V# K- N" N 像F1系列的芯片是支持从串口下载程序的,而F2/F3/F4系列的是支持从串口或USB口下载的,而最新的G0系列是支持从串口或者I2C口或者SPI口下载的。今天主要介绍一下F4系列的USB接口下载程序的方式,即USB-DFU功能。! a3 G* O+ |5 e1 O4 ] DFU全称Device Firmware Upgrade,即设备固件升级。ST提供了相应的软件可通过USB下载程序。8 U/ u- Q1 q+ C { ( K' j4 I+ p' y& a7 @ 1.DfuSe Demo b! V- b: j: O2 R 这款软件是ST最开始时提供的,有多个版本,建议用最新的。使用方法如下: 将芯片的BOOT0引脚置1,上电。! w& U$ E( E5 Y4 P8 V+ f$ K0 T- ~2 R& m 打开DfuSe Demo软件,会识别出USB的。 Q+ z, y: U, L* U8 O( U ![]() . Y( t3 d F. p 7 y, P9 C" x% ~ 打开Dfu file manager ! `2 ~4 |. _2 u. q: d+ j$ L6 g 2 b1 l C1 J1 e ![]() " n& i; d$ \2 }, N7 ]: P5 t - ]/ o; e/ t, T" _6 f ![]() / N& u% Q0 e( r u3 b 输入上面软件识别出的VID、PID和Version。然后选择Hex文件,点击Generat,生成dfu文件。9 B( I9 {0 P5 o y" b t. ] 选择刚生成的.dfu文件,点击upgrade进行下载。 / {; r) N9 R! f' d$ n7 e ) c2 Q; K$ x1 r+ m7 F, r ![]() 这个软件只能下载.dfu格式的文件,因此需要先将hex或.s19或bin文件转换为dfu文件才行,过程比较繁琐。而且有时候可能会莫名的转换不了,用起来体验一般。# V/ O- D' Y$ ?/ F" G' K z) T 2.STM32CubeProgrammer STM32CubeProgrammer是ST近两年新推出的一款下载程序的软件,支持多种模式,也包括USB DFU模式。7 H4 O/ N" b8 m" }7 U & C5 t( E. Z& q% ]1 d; s; @" J 打开软件后选择USB接口,点击刷新,这时可能会出现一直检测不到设备的情况。 ! o+ ^+ _) g' {) g+ C( i. w% |8 P ![]() 这时就需要更新一下驱动,使用zadig-2.7软件。 ![]() ; O9 I9 Z+ U& z: ~+ a. c9 v' x 打开该软件后,在Options菜单下选择List All Devices。然后选择STM32 DFUxxx的设备,点击Reinstall,更新驱动。 6 X/ S/ p- c+ m5 } T ![]() 7 @3 V8 B8 Z* J' }" v& ? 然后再打开STM32CubeProgrammer软件,就可以识别到了。点击Connect,选择要下载的程序文件,可以是Hex或Bin文件。然后点击Download下载程序即可。 ![]() % H' V( n$ j0 n8 I: N 这个软件可以直接下载Hex或Bin文件,用起来比较简单,推荐使用。: Z7 @- W7 Z w3 S" H; W- W 3 T0 M; A, H7 m) I: @% A" p1 z 转载自: 嵌入式技术开发0 t: E) f& E, L2 ~, m1 P |
最全USB HID开发资料,悉心整理一个月,亲自测试
实战经验 | 选择USBX模块生成USB CDC ACM无PD的项目
STM32 USB HID键盘例程
刘氓兔的杂谈【001】-片上USB 高速PHY
【经验分享】在进行 USB CDC 类开发时,无法发送 64整数倍的数据
【源码】STLINK-V3MINI 高速USB仿真器,成功改刷【高速CMSIS-DAP】
在线直播|无需编写任何代码即可在STM32上实现USB-C Power Delivery
STM32 USB CDC 虚拟多串口
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
USB Audio设计与实现