# GD32E23x 工程模板 本仓库为 GD32E23x 系列 MCU 的 CMake + VSCode 工程模板。 ## 适用范围 - 适用于兆易创新 GD32E23x 系列 Cortex-M23 内核单片机 - 支持标准外设库开发 - 推荐使用 VSCode + CMake + ARM GCC 工具链 ## 默认配置 - MCU 主频:内部 RC 振荡器,系统时钟配置为 72MHz - 工程结构清晰,便于二次开发和移植 ## 使用说明 1. 手动准备工具链: - 请将 ARM GCC 工具链(如 xpack-arm-none-eabi-gcc)和 OpenOCD 解压到本工程的 Toolchain 目录下。 - Toolchain 目录内容不会被 git 跟踪,需自行维护。 2. 使用 CMake 构建工程: - 推荐使用 VSCode 的 CMake Tools 插件,或命令行执行: ```bash cmake -S . -B Build/Debug -G "Ninja" -DCMAKE_TOOLCHAIN_FILE=cmake/arm-none-eabi-gcc.cmake cmake --build Build/Debug ``` 3. 通过 OpenOCD 烧录固件: - 可直接使用 VSCode 任务栏的 Flash MCU 任务,或命令行运行 OpenOCD。 ## 时钟配置说明 本工程默认系统时钟为内部 IRC8M 振荡器经 PLL 倍频后的 72MHz。 如需修改主频或时钟源,请编辑 `Src/system_gd32e23x.c` 文件: 1. 查找如下宏定义区: ```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) ``` 2. 取消你需要的时钟方案的注释,并注释掉其它方案。 3. 保存后重新编译工程即可生效。 详细时钟初始化流程可参考 `system_gd32e23x.c` 文件中的 `system_clock_config` 及相关函数实现。