generated from hulk/gd32e23x_template_cmake_vscode
chore(config): BOARD_TYPE_CODE 改为 99 标记预研工程
This commit is contained in:
@@ -52,7 +52,7 @@
|
||||
### 其他
|
||||
|
||||
- LED:PB1
|
||||
- SWD:SWDIO、SWCLK、GND,用于 DAPLink 烧录与调试
|
||||
- SWD:SWDIO、SWCLK、GND,用于 DAPLink/J-Link 烧录与调试
|
||||
|
||||
## 功能开关
|
||||
|
||||
@@ -80,6 +80,26 @@
|
||||
|
||||
## 编译与烧录
|
||||
|
||||
### 环境变量(每台电脑配置一次)
|
||||
|
||||
工程不内置工具链,编译、烧录、调试全部通过用户级环境变量定位工具:
|
||||
|
||||
| 变量名 | 值 | 用途 |
|
||||
|---|---|---|
|
||||
| `GD32_GCC_BIN` | ARM GCC 工具链的 `bin` 目录(也接受根目录) | CMake 编译、GDB 调试 |
|
||||
| `GD32_OPENOCD_BIN` | 包含 `openocd.exe` 的 `bin` 目录 | OpenOCD 烧录/调试 |
|
||||
| `GD32_OPENOCD_SCRIPTS` | OpenOCD `scripts` 根目录 | `-s` 脚本搜索路径 |
|
||||
|
||||
PowerShell 配置示例(路径按本机实际位置填写,设置后重启 VSCode 生效):
|
||||
|
||||
```powershell
|
||||
[Environment]::SetEnvironmentVariable("GD32_GCC_BIN", "D:\toolchain\arm-gnu-toolchain-13.3.rel1\bin", "User")
|
||||
[Environment]::SetEnvironmentVariable("GD32_OPENOCD_BIN", "D:\toolchain\xpack-openocd-0.11.0-3\bin", "User")
|
||||
[Environment]::SetEnvironmentVariable("GD32_OPENOCD_SCRIPTS", "D:\toolchain\xpack-openocd-0.11.0-3\scripts", "User")
|
||||
```
|
||||
|
||||
CMake 也可用 `-DTOOLCHAIN_DIRECTORY=<bin目录>` 临时指定工具链。更换 GCC 版本后需删除 `Build/Debug`、`Build/Release` 重新配置(CMake 缓存了编译器绝对路径)。完整说明见 [gd32e23x_template_cmake_vscode](https://gitea.hulk.wang/hulk/gd32e23x_template_cmake_vscode) 的 README。
|
||||
|
||||
### 编译
|
||||
|
||||
在仓库根目录执行:
|
||||
@@ -103,20 +123,25 @@ cmake --build Build/Debug
|
||||
- `Application.bin`
|
||||
- `Application.map`
|
||||
|
||||
### 烧录
|
||||
### 烧录与调试(VSCode 任务)
|
||||
|
||||
通过 DAPLink/CMSIS-DAP 烧录:
|
||||
工程自带 `.vscode` 配置(推荐安装扩展:CMake Tools、cortex-debug、C/C++),VSCode 内可直接使用:
|
||||
|
||||
- **OpenOCD 任务**(DAPLink/CMSIS-DAP):`Build and Flash`、`Flash MCU`、`Reset MCU`、`Mass Erase MCU`、`OpenOCD Server`
|
||||
- **J-Link 任务**:`Build and Flash (Jlink)`、`Flash MCU (Jlink)`、`Reset MCU (Jlink)`、`Mass Erase MCU (Jlink)`
|
||||
- **调试**:`Debug with OpenOCD` / `Debug with J-Link`(cortex-debug,带 GD32E230.svd 外设视图)
|
||||
|
||||
OpenOCD 使用的 cfg 由 `.vscode/settings.json` 的 `gd32.openocd.targetConfig` 指定(当前为 GD-Link 的 `target/openocd_gdlink_gd32e23x.cfg`);DAPLink 调试器可换成 `interface/cmsis-dap.cfg` + `target/gd32e23x.cfg` 的组合 cfg。J-Link 器件名为 `GD32E230F8`,在 `gd32.jlink.*` 设置中调整。
|
||||
|
||||
命令行烧录(等效 `Flash MCU` 任务):
|
||||
|
||||
```bash
|
||||
D:/toolchain/openocd/bin/openocd.exe \
|
||||
-s D:/toolchain/openocd/scripts \
|
||||
-f interface/cmsis-dap.cfg \
|
||||
-f target/gd32e23x.cfg \
|
||||
-c "reset_config srst_only connect_assert_srst; init; reset halt; flash write_image erase Build/Release/Application/Application.elf; reset; exit"
|
||||
%GD32_OPENOCD_BIN%\openocd.exe ^
|
||||
-s %GD32_OPENOCD_SCRIPTS% ^
|
||||
-f %GD32_OPENOCD_SCRIPTS%\target\openocd_gdlink_gd32e23x.cfg ^
|
||||
-c "init; reset halt; flash write_image erase Build/Release/Application/Application.elf; reset; exit"
|
||||
```
|
||||
|
||||
也可以在 VSCode 中使用已配置的 Flash 任务。
|
||||
|
||||
## 串口命令(Mx)
|
||||
|
||||
命令帧格式 `D5 01 LEN [命令] CRC`(LEN 为命令字节数,CRC 为帧内累加和),响应帧 `B5 TYPE LEN [数据] CRC`,`TYPE=0xF0` 表示成功。波特率 115200,8N1。
|
||||
@@ -129,7 +154,7 @@ D:/toolchain/openocd/bin/openocd.exe \
|
||||
| `M2` | 关闭测距上报,LED 灭 | `ok` |
|
||||
| `M3` | 立即返回最近一帧结果(上报关闭时也可查询) | `d=830;s=0` |
|
||||
| `M888` | 软件重启 | `ok` 后复位 |
|
||||
| `M999` | 输出固件版本号 | `v20.0.0.1` |
|
||||
| `M999` | 输出固件版本号 | `v99.0.0.1` |
|
||||
| `M9999` | 复位进入 OTA/Bootloader | 复位 |
|
||||
|
||||
### 校准命令
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Project basic info
|
||||
set(PROJECT_NAME "GD32E23x_StdPeriph_Template")
|
||||
set(BOARD_TYPE_CODE 20)
|
||||
# 板卡类型码(协议帧中的标识):1-89 正式产品;90-99 预研专用,99=通用预研/试验
|
||||
set(BOARD_TYPE_CODE 99)
|
||||
set(VERSION_MAJOR 0)
|
||||
set(VERSION_MINOR 0)
|
||||
set(VERSION_PATCH 1)
|
||||
|
||||
Reference in New Issue
Block a user