# gd32framework **Repository Path**: wsun987/gd32framework ## Basic Information - **Project Name**: gd32framework - **Description**: 基于自有架构的一套gd32系列芯片通用工程框架及目录结构 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-08 - **Last Updated**: 2026-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GD32F470 FreeRTOS LED Blink Example 基于 GD32F470ZGT6 和 FreeRTOS 的 LED 闪烁示例工程。 ## 硬件要求 - GD32F470ZGT6 开发板 - LED 连接到 PD4 引脚 - ST-Link V2 调试器 ## 工程结构 ``` gd32f470-led-blink/ ├── main.c # 主程序 (FreeRTOS 任务) ├── gd32f4xx.h # 芯片头文件 ├── gd32f4xx_gpio.c # GPIO 驱动 ├── system_gd32f4xx.c # 系统初始化 ├── startup_gd32f470.s # 启动文件 ├── gd32f470xk.ld # 链接脚本 ├── FreeRTOSConfig.h # FreeRTOS 配置 ├── freertos/ # FreeRTOS Kernel (submodule) ├── CMakeLists.txt # CMake 配置 ├── arm-none-eabi.cmake # 工具链配置 ├── build.py # 构建脚本 └── README.md # 说明文档 ``` ## 特性 - **FreeRTOS** 实时操作系统 - **硬件浮点** 支持 (FPU) - LED 闪烁任务 (500ms 间隔) ## 编译环境 需要安装 ARM 交叉编译工具链和 CMake: ```bash # Ubuntu/Debian sudo apt install gcc-arm-none-eabi cmake ninja-build # Windows # 1. ARM 工具链: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads # 2. CMake: https://cmake.org/download/ # 3. Ninja: https://github.com/ninja-build/ninja/releases ``` ## 编译步骤 ```bash cd ~/clawprojects/gd32f470-led-blink # 检查工具 python build.py check # 编译 python build.py # 清理 python build.py clean # 重新编译 python build.py rebuild ``` ## 输出文件 - `build/led_blink.elf` - ELF 格式,用于调试 - `build/led_blink.hex` - HEX 格式,用于烧录 - `build/led_blink.bin` - 二进制格式,用于烧录 ## 烧录 使用 ST-Link: ```bash st-flash write build/led_blink.bin 0x08000000 ``` ## FreeRTOS 配置 - **时钟频率**: 16MHz (内部 RC) - **Tick 频率**: 1000Hz (1ms) - **堆大小**: 16KB - **任务优先级**: 5 级 ## 引脚说明 | 引脚 | 功能 | |------|------| | PD4 | LED 控制引脚 | ## 注意事项 1. 本示例使用 FreeRTOS 的 heap_1 内存管理方案 2. 启用了硬件浮点支持 (FPU) 3. 时钟配置需要根据实际硬件设计调整