1.7 KiB
1.7 KiB
GD32E23x 工程模板
本仓库为 GD32E23x 系列 MCU 的 CMake + VSCode 工程模板。
适用范围
- 适用于兆易创新 GD32E23x 系列 Cortex-M23 内核单片机
- 支持标准外设库开发
- 推荐使用 VSCode + CMake + ARM GCC 工具链
默认配置
- MCU 主频:内部 RC 振荡器,系统时钟配置为 72MHz
- 工程结构清晰,便于二次开发和移植
使用说明
- 手动准备工具链:
- 请将 ARM GCC 工具链(如 xpack-arm-none-eabi-gcc)和 OpenOCD 解压到本工程的 Toolchain 目录下。
- Toolchain 目录内容不会被 git 跟踪,需自行维护。
- 使用 CMake 构建工程:
- 推荐使用 VSCode 的 CMake Tools 插件,或命令行执行:
cmake -S . -B Build/Debug -G "Ninja" -DCMAKE_TOOLCHAIN_FILE=cmake/arm-none-eabi-gcc.cmake cmake --build Build/Debug
- 推荐使用 VSCode 的 CMake Tools 插件,或命令行执行:
- 通过 OpenOCD 烧录固件:
- 可直接使用 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
及相关函数实现。