所有STM32系列芯片都自带ISP功能,进入ISP的方式就是BOOT0置1,然后上电或复位,这时候芯片从系统存储区启动,进入ISP功能,可以使用串口0进行软件烧写。
STM32F2/3/4系列芯片不仅有传统的UART ISP功能,还有USB ISP功能(拥有USB功能的芯片),工作方式就是使用自带的USB外设,配置成一个USB HID设备,通过HID协议下载软件,速度和串口相比......。从系统存储区启动即可进入USB ISP,然后通过USB接上Windows,无需安装驱动,设备管理器里面出现一个HID设备:STM device in DFU mode。
这时候可以使用DfuSe_Demo软件下载程序,尴尬的是只能下载".dfu"格式的文件,不能直接下载hex文件或者bin文件,鸡肋。
ST官方又提供一个软件叫做:STM32CubeProgrammer,打开之后又4种下载模式,其中一种DFU模式无法识别我们的STM32 HID设备。这个问题搞了我一天,后面看了一个视频发现这是驱动的问题,需要换个驱动,使用这个软件:
在Options选项栏里面选择 List All Devices,然后按照下图操作:
After replacing the driver of the device, we can see a new USB device in the Windows Device Manager:
这时候再使用STM32CubeProgrammer,刷新一下,设备就有了:
接下来就能使用USB进行软件烧写了,速度很快,关键是方便:
Enjoy!