stm32的固件烧录,根据所处平台不同、使用接口不同,有不同的烧录方式。
仅有Windows版
使用的开发板为野火STM32F103C8T6核心板,板载USB TO UART
使用FlyMcu软件搜索串口,如果不知道是哪个串口,可以现在设备管理器中查看。


选择待烧录的hex文件

烧录

勾选变成后执行
取消勾选“编程到FLASH时写选项字节”
选择“DTR的低电平复位,RTS高电平进BootLoader”
ISP一键下载
点击“开始编程”
查看右侧的烧录日志
点击单片机的“RESET”按钮,或断电、重新上电
跨平台都可以使用;终端使用,没有GUI;仅支持UART。
安装stm32loader
pip install stm32loader查看串口(这里使用的mac系统,windows系统在设备管理器中查看)
ls /dev/tty.* 会展示电脑可用的串口,找到开发版对应的串口,一般包含usb字样,比如这里的/dev/tty.usbserial-10 是开发版的串口。
/dev/tty.Bluetooth-Incoming-Port /dev/tty.debug-console /dev/tty.usbserial-10烧录
stm32loader --port /dev/tty.usbserial-10 --erase --write --verify PATH_OF_BIN_FILE --reset-active-high --boot0-active-low -f F1烧录的过程,终端会展示进度,烧录完成后,点击开发版的重置按钮重启开发版。
Activating bootloader (select UART)
Bootloader version: 0x22
Chip id: 0x410 (STM32F10x Medium-density)
Device UID: FF55-066F-48755750-67081138
Flash size: 64 KiB
Write 19 chunks at address 0x8000000...
Writing ████████████████████████████████ 19/19
Read 19 chunks at address 0x8000000...
Reading ████████████████████████████████ 19/19
Verification OK跨平台;支持 SWD、JTAG、CMSIS-DAP、ST-Link、J-Link 等多种硬件调试接口;不支持UART(即板载USB转串口),此处我使用的是JTAG接口。
下载open-ocd,下载链接
将可执行文件添加至环境变量

brew install open-ocd在插件管理中搜索openocd

我安装的是MCU_VSCODE 下载与调试器,其它同类型的也可以使用,本质都是提供一个GUI,调用系统的openocd。

根据插件GUI的提示,选择内容后,点击下载程序。下载进度可以在终端中查看。
