From 5feae378317fed20c67aac6726ac48d25f1bb0f6 Mon Sep 17 00:00:00 2001 From: yelvlab Date: Tue, 15 Sep 2026 17:32:24 +0800 Subject: [PATCH] fix(vscode): align portable toolchain settings --- .vscode/settings.json | 2 +- README.md | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index cf89ce4..a0c9d30 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,7 +6,7 @@ "gd32.openocd.targetConfig": "target/openocd_gdlink_gd32e23x.cfg", "gd32.openocd.massEraseCommand": "gd32e23x mass_erase 0", "gd32.jlink.device": "GD32E230F8", - "gd32.jlink.interface": "SWD", + "gd32.jlink.interface": "swd", "gd32.jlink.speed": "4000", "files.associations": { "*.h": "c", diff --git a/README.md b/README.md index d88bd05..e0d520c 100644 --- a/README.md +++ b/README.md @@ -71,9 +71,8 @@ | 分支 | 用途 | |------|------| -| `template_pc` | **主模板**(推荐),用于桌面端 VSCode 开发 | -| `template_xl` | 小琅适配版 | -| `main` | 早期版本,不推荐使用 | +| `main` | **主模板**(推荐),用于桌面端 VSCode 开发 | +| `codex/*` | 功能开发和合并前验证分支 | --- @@ -286,7 +285,7 @@ FLASH (rx) : ORIGIN = 0x08002000, LENGTH = 8K - **版本**:xpack-arm-none-eabi-gcc-11.3.1-1.1 - **安装位置**:每台电脑本机任意目录,工具包不放入工程仓库 - **官方下载地址**:https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases -- **活动变量**:`GD32_GCC_BIN`,值为工具链的 `bin` 目录(也接受工具链根目录) +- **活动变量**:`GD32_GCC_BIN`,值为工具链的 `bin` 目录 ### 2. OpenOCD(调试/烧录) @@ -346,12 +345,12 @@ cmake --preset Debug -DTOOLCHAIN_DIRECTORY="C:/toolchain/gcc-arm-none-eabi/bin" | 变量名 | 值 | 用途 | |---|---|---| - | `GD32_GCC_BIN` | 活动 ARM GCC 的 `bin` 目录(或工具链根目录) | CMake 编译、GDB 调试、binutils | + | `GD32_GCC_BIN` | 活动 ARM GCC 的 `bin` 目录 | CMake 编译、GDB 调试、binutils | | `GD32_OPENOCD_BIN` | 包含 `openocd.exe` 的 `bin` 目录 | OpenOCD 任务/调试 | | `GD32_OPENOCD_SCRIPTS` | OpenOCD `scripts` 根目录 | `-s` 脚本搜索路径 | - **可选的环境变量**:为不同 GCC 版本分别建立 `GD32_GCC_XPACK11_BIN`、`GD32_GCC_GNU12_BIN` 等变量,需要切换时手动把选中的路径写入 `GD32_GCC_BIN`。`GD32_GCC_ENV_VAR` 仅在需要让 CMake 使用另一个 `GD32_*` 变量名时设置。 -- ARM GCC 必须是 `arm-none-eabi` 交叉工具链,变量指向工具链根目录或 `bin` 目录;`gcc`、`g++`、`gdb`、`ar`、`as`、`ld`、`objcopy`、`objdump`、`size`、`ranlib` 必须齐全。 +- ARM GCC 必须是 `arm-none-eabi` 交叉工具链;`GD32_GCC_BIN` 及其它 `GD32_*_BIN` 变量必须指向 `bin` 目录,以同时支持 CMake 和 VSCode 调试。仅通过 CMake 的 `TOOLCHAIN_DIRECTORY` 参数配置时,可以传工具链根目录或 `bin` 目录。`gcc`、`g++`、`gdb`、`ar`、`as`、`ld`、`objcopy`、`objdump`、`size`、`ranlib` 必须齐全。 - 当前工程已验证 xPack GCC 11.3.1 和 GNU Arm GCC 12.3.1;链接脚本使用 GCC 11+ 支持的 `READONLY` 语法。更换更新版本仍需在目标板上验证编译、链接和调试。 - OpenOCD 需要同时提供 `GD32_OPENOCD_BIN`、`GD32_OPENOCD_SCRIPTS`;任务会在 bin 目录下使用固定文件名 `openocd.exe`,每个工程在 `.vscode/settings.json` 中设置相对 `scripts` 根目录的 `gd32.openocd.targetConfig`,不依赖全局 `OPENOCD_SCRIPTS`。 - CMake ≥ 3.20、Ninja、VSCode CMake Tools,以及 cortex-debug(使用 OpenOCD 调试时)必须已安装;J-Link 任务另需 `JLink.exe` 在 PATH 中。