4.3 KiB
4.3 KiB
GD32E23x 工程模板
本仓库为兆易创新 GD32E23x 系列 MCU 的 CMake + VSCode 工程模板,适合嵌入式开发快速上手和团队协作。
目录
适用范围
- 适用于兆易创新 GD32E23x 系列 Cortex-M23 内核单片机
- 支持标准外设库开发
- 推荐开发环境:VSCode + CMake + ARM GCC 工具链
默认配置
- MCU 主频:内部 RC 振荡器,系统时钟配置为 72MHz
工具链准备
1. xPack GNU Arm Embedded GCC Toolchain
- 版本:xpack-arm-none-eabi-gcc-11.3.1-1.1
- 建议解压路径:Tools/xpack-arm-none-eabi-gcc-11.3.1-1.1
- 官方下载地址:https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases
- 路径自定义说明:
如需自定义工具链路径,请同步修改以下文件:Projects/<BoardName>/<ProjectName>/cmake/arm-none-eabi-gcc.cmake
(第2行)Projects/<BoardName>/<ProjectName>/.vscode/launch.json
(第12行)
2. OpenOCD
- 版本:xpack-openocd-0.11.0-3
- 建议解压路径:Tools/xpack-openocd-0.11.0-3
- 获取地址:https://github.com/burakenez/gd32-tools-xpack-openocd/tree/v0.11.0-3
- 说明:
- 本版本提取自 Embedded Builder V1.4.1.23782。
- ⚠️ 请勿随意更换版本,因 GD32 MCU 支持有限,推荐严格使用此版本。
- 路径自定义说明:
如需自定义 OpenOCD 路径,请同步修改以下文件:Projects/<BoardName>/<ProjectName>/.vscode/launch.json
(第14、17行)Projects/<BoardName>/<ProjectName>/.vscode/task.json
中所有相关路径
使用说明
-
准备工具链
- 按上述说明下载并解压 ARM GCC 和 OpenOCD 到 Tools 目录。
- Toolchain 目录内容不会被 git 跟踪,需自行维护。
-
烧录固件
- 可直接使用 VSCode 任务栏的 Flash MCU 任务,或命令行运行 OpenOCD。
时钟配置说明
本工程默认系统时钟为内部 IRC8M 振荡器经 PLL 倍频后的 72MHz。
如需修改主频或时钟源,请编辑 Src/system_gd32e23x.c
文件:
- 查找如下宏定义区:
// #define __SYSTEM_CLOCK_8M_HXTAL (__HXTAL) // #define __SYSTEM_CLOCK_8M_IRC8M (__IRC8M) // #define __SYSTEM_CLOCK_72M_PLL_HXTAL (uint32_t)(72000000) #define __SYSTEM_CLOCK_72M_PLL_IRC8M_DIV2 (uint32_t)(72000000)
- 取消你需要的时钟方案的注释,并注释掉其它方案。
- 保存后重新编译工程即可生效。
详细时钟初始化流程可参考 system_gd32e23x.c
文件中的 system_clock_config
及相关函数实现。
vcpkg 依赖管理(可选)
本工程可选支持 vcpkg 作为 C/C++ 工具链和构建工具的自动化依赖管理方案。
- 自动下载和管理如 CMake、Ninja 等构建工具,简化环境配置。
- 可扩展用于第三方 C/C++ 库的统一管理。
启用方法:
-
在项目根目录创建
vcpkg-configuration.json
文件,内容如下:{ "registries": [ { "name": "microsoft", "location": "https://aka.ms/vcpkg-ce-default", "kind": "artifact" }, { "name": "arm", "location": "https://aka.ms/vcpkg-artifacts-arm", "kind": "artifact" } ], "requires": { "arm:tools/ninja-build/ninja": "^1.12.0", "arm:tools/kitware/cmake": "^3.28.4" } }
-
启动 VSCode 或命令行,vcpkg 会自动检测并安装所需工具。
如不需要 vcpkg,可忽略本文件。
建议补充内容
- 快速上手示例:如 main.c 的最小点灯/串口输出代码片段。
- 常见问题与解答:如构建失败、烧录失败的排查建议。
- 调试说明:如何用 VSCode 调试、断点、查看寄存器等。
- 多板卡适配说明:如有多种硬件,如何切换 BoardName。
- 贡献指南:如何提交 PR、代码风格约定等。
- License 说明:开源协议和版权声明。
如需进一步完善或有其他建议,欢迎随时反馈!