first commit

This commit is contained in:
2025-08-10 06:15:16 +08:00
commit f1df3cc30e
94 changed files with 52218 additions and 0 deletions

41
README.md Normal file
View File

@@ -0,0 +1,41 @@
# 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` 及相关函数实现。