feat(flash-gui): 新增 DAPLink 烧录 GUI 并整理固件工具说明

- 新增 FlashTool/ 图形化烧录工具,支持 GD32E230F4/F6/F8/C8
- 支持 DAPLink/CMSIS-DAP、GD-Link、ST-Link、J-Link
- 支持 BIN/HEX/ELF 烧录、整片擦除、读取 Flash、复位、补齐与拼接
- 配置按主机名保存于 FlashTool/config/,自动创建并 gitignore
- README 调整:GUI 使用说明置顶,命令行工具说明保留在下方
This commit is contained in:
2026-08-01 00:09:24 +08:00
parent 49f84396bd
commit e8eb194fb8
5 changed files with 1020 additions and 18 deletions
+55
View File
@@ -0,0 +1,55 @@
# DAPLink Flash GUI
一个面向 GD32 日常烧录的 Windows 小工具,不依赖 VSCode,也不用记 OpenOCD 命令。
双击 `start_flash_gui.bat` 即可启动。
## 功能
### 烧录页
- 芯片型号:GD32E230F4 / F6 / F8 / C8,自动带出 Flash 大小和 OpenOCD target 配置
- 烧录器型号:DAPLink / CMSIS-DAP、GD-Link、ST-Link、J-Link、CMSIS-DAP (TCP)
- OpenOCD 路径和 scripts 目录可配置,默认使用 `D:/toolchain` 下同一套工具
- BIN 文件可指定烧录基地址,HEX/ELF 使用文件内地址
- 常用烧录参数:适配器速度、探针序列号、烧录前擦除、烧录后校验、复位运行
- 操作:检测设备、整片擦除、烧录固件、读取 Flash、复位芯片、停止当前操作
### 固件工具页
- 补齐:把 BIN 填充到 1K(或 2K/4K)整数倍,默认填充 `0xFF`。
因为 bootloader 的 Y-Modem 只按 1K 整包写 Flash,最后一包不满 1K 时
必须先在发送侧补齐。
- 拼接:把 Bootloader + APP + 有效标志合成一个完整 Flash 镜像,
逻辑与 `gd32e230f8_firmware_merge_tool/merge_bin.py` 一致。
## 典型布局
```text
0x08000000 Bootloader 8KB
0x08002000 Application
0x0800FFFC 有效标志 0xEEEEEEEE
0x08010000 Flash 结束 (64KB)
```
完整镜像烧录基地址为 `0x08000000`;只烧 APP 时基地址为 `0x08002000`。
## 使用
1. 连接 DAPLink 和目标板 SWD(SWDIO / SWCLK / GND)。
2. 双击 `start_flash_gui.bat`,或执行:
```bat
python daplink_flash_gui.py
```
3. 选择芯片型号、烧录器型号、固件文件,点击“烧录固件”。
运行参数会自动保存到 `FlashTool/config/flash_gui_<主机名>.json`。首次打开会自动创建
`config` 目录并生成当前电脑的配置;下次打开检测到就加载,没有就重新创建。
每台电脑使用独立文件名,同步仓库时不会互相覆盖。
## 环境要求
- Windows
- Python 3.10+(标准安装自带 tkinter,无需第三方库)
- OpenOCD(默认 `D:/toolchain/openocd/bin/openocd.exe`,可在界面中修改)