Skip to content

About

CLion环境一直配不好,无奈之下发明此物

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

STM32 Burn Tool

STM32 Burn Tool 是一个免编译、免安装开发环境的 Windows 图形化烧录工具。它使用 Windows PowerShell 5.1、WPF 和 OpenOCD,面向团队成员快速完成 STM32F1 固件下载、校验和复位运行。

支持范围

  • 下载器:ST-LINK/V2
  • 调试接口:SWD
  • 芯片系列:STM32F1
  • 固件格式:ELF
  • 烧录程序:OpenOCD
  • 系统:Windows 10 / Windows 11

首版不支持 CMSIS-DAP、J-LINK、DFU、UART Bootloader、BIN、HEX、Option Bytes、芯片解锁、读保护解除、全片自动擦除或 ST-LINK 固件升级。

目录结构

STM32BurnTool
├─ StartBurnTool.bat       双击启动入口
├─ BurnTool.ps1            GUI 与烧录逻辑
├─ MainWindow.xaml         WPF 界面和样式
├─ BurnToolConfig.json     本机路径配置
├─ stm32f1_stlink.cfg      STM32F1 + ST-LINK/SWD 配置
├─ Assets                  可选本地图标目录
└─ README.md               使用说明

所有内部路径都相对于脚本目录解析,整个文件夹可以复制到另一台 Windows 电脑。配置文件只保存所选 OpenOCD 和 ELF 路径,不保存任何附加命令。

最简使用步骤

  1. 解压或安装适用于 Windows 的 OpenOCD。
  2. 双击 StartBurnTool.bat。
  3. 点击 OpenOCD 行的“选择文件”,选择安装目录中的 openocd.exe。
  4. 点击 ELF 固件行的“选择文件”,选择工程编译生成的 .elf。
  5. 连接目标板后点击“检测连接”。
  6. 检测通过后点击“烧录并运行”。

启动脚本只对本次 PowerShell 进程使用 ExecutionPolicy Bypass,不会永久修改系统执行策略。

OpenOCD 与 ELF 文件

OpenOCD 常见位置类似 OpenOCD\bin\openocd.exe,实际位置取决于你的安装或解压目录。工具不会修改 OpenOCD 安装目录。

ELF 文件必须由 STM32 工程成功编译生成,通常位于工程的 build、Debug 或 Release 目录。工具只读取 ELF 文件,不会修改它。选择后界面会显示文件大小和最后修改时间。

功能说明

  • 检测连接:使用内置 ST-LINK/SWD 配置执行 init; shutdown,检查 OpenOCD、ST-LINK 和 STM32 目标是否可连接;不要求先选择 ELF。
  • 烧录并运行:写入 ELF、执行 verify、复位目标并退出。成功结论同时依据退出码、OpenOCD 成功关键字和错误输出。
  • 复位运行:执行 init; reset run; shutdown,无需选择 ELF。
  • 取消当前操作:只结束本工具当前启动的 OpenOCD 子进程,不影响系统里的其他 OpenOCD 实例。
  • 打开固件目录:在资源管理器中打开并选中当前 ELF。
  • 实时日志:保留 stdout 和 stderr 原始输出,可清空或复制。

本工具不会自动执行 mass_erase、芯片解锁、Option Bytes 修改、读保护解除或固件升级。

ST-LINK 接线

ST-LINK/V2 STM32F1
SWDIO PA13
SWCLK PA14
GND GND
3.3V / VTref 3.3V
RST NRST(可选但推荐)

重要提醒:

  • BOOT0 应保持为 0。
  • ST-LINK 与 STM32 必须共地。
  • 不要把 3.3V 接到 5V 引脚。
  • 目标板应稳定供电;请确认 VTref 电压正常。
  • 烧录前关闭 CLion、Keil、STM32CubeProgrammer 等可能占用 ST-LINK 的软件。

常见错误排查

  • 未检测到或无法打开 ST-LINK:检查 USB 数据线、驱动和接口,关闭占用设备的调试软件,再拔插 ST-LINK。
  • LIBUSB_ERROR_ACCESS:先关闭占用 ST-LINK 的程序;仍失败时可使用界面出现的“以管理员身份重新启动”按钮。
  • target not halted / timed out:检查 SWDIO、SWCLK、GND、供电和 NRST,确认 BOOT0 为 0。
  • target voltage:检查 3.3V、VTref 与共地连接。
  • verification failed:检查供电稳定性、SWD 接线和下载速度。
  • device is protected:芯片可能启用了读保护。本工具不会自动修改 Option Bytes 或解除保护。
  • 找不到配置脚本:确认 OpenOCD 安装包中存在 scripts\interface\stlink.cfg 与 scripts\target\stm32f1x.cfg,并保持本工具的 stm32f1_stlink.cfg 未被删除。

错误发生时请保留并复制“实时日志”,原始 OpenOCD 输出有助于定位问题。

便携复制与安全

可将整个 STM32BurnTool 文件夹复制给组员。首次在新电脑启动后,重新选择该电脑上的 openocd.exe 和 ELF 文件即可。若复制前不希望携带本机路径,可将 BurnToolConfig.json 的两个值恢复为空字符串。

工具不联网,不执行用户提供的附加 OpenOCD 参数,不通过 Shell 拼接烧录命令,不修改 STM32 工程源码、ELF、Option Bytes 或 ST-LINK 固件。

About

CLion环境一直配不好,无奈之下发明此物

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages