GD32450Z-EVAL 开发板 RT-Thread BSP 快速上手与进阶配置指南
操作系统嵌入式物联网嵌入式OSRTOS【免费下载链接】rt-threadRT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/项目地址https://gitcode.com/gh_mirrors/rt/rt-thread点击查看免费下载本指南以 RT-Thread 仓库中 bsp/gd32/arm/gd32450z-eval 的 BSP 说明文档为核心系统介绍基于兆易创新 GD32F4xx 系列评估板 GD32450Z-EVAL 的 RT-Thread 移植方案从板载资源与外设支持现状到 MDK5 环境下的快速编译下载再到使用 ENV 工具通过menuconfig深度配置片上外设UART、SPI、ADC、CAN、RTC 等的完整流程。读完本文你将能够在 10 分钟内让 RT-Thread 在 GD32450Z-EVAL 上运行起来并具备按需裁剪与扩展外设驱动的实战能力。开发板与核心芯片简介GD32450Z-EVAL 是兆易创新推出的 GD32F4xx 系列评估板板载GD32F450ZKT6主控芯片。该开发板板载资源丰富可以充分发挥 GD32F450ZKT6 的芯片性能。GD32F450 系列基于 ARM Cortex-M4 内核带 FPU 与 DSP 指令集主频最高可达 200MHzBSP 说明文档“简介”一节描述为 168M而“板载资源”一节标注为 200MHz实际芯片最高主频以 GD32F450 数据手册为准片上集成 3072KB FLASH 与 256KB RAM。该 BSP 对应的工程配置位于bsp/gd32/arm/gd32450z-eval/rtconfig.py其中通过DEVICE -mcpucortex-m4 -mthumb -mfpufpv4-sp-d16 -mfloat-abihard -DGD32F450指定了 Cortex-M4 内核、单精度 VFPv4 FPU 硬件浮点以及GD32F450器件宏与芯片型号一一对应。板载资源一览开发板常用板载资源如下主控GD32F450ZKT6主频 200MHz3072KB FLASH256KB RAM常用外设LED3 个LED1PD4、LED2PD5、LED3PG3按键3 个K1PA0、K2PC13、K3PB14定时器General TM × 10、Advanced TM × 2、Basic TM × 2系统时钟 × 1看门狗 × 2RTC × 1USART × 4、UART × 4I2C × 3、I2S × 2SPI × 6CAN2.0B × 2USB2.0 OTG × 2以太网 × 1TFT-LCDEXMC/SDRAM × 1ADC × 3DAC × 2最多支持 114 个 GPIO常用接口USB 接口调试接口GD-LINK其中 LED1 的引脚定义PD4可以在 bsp/gd32/arm/gd32450z-eval/applications/main.c 中直接看到#define LED1_PIN GET_PIN(D, 4)这与文档描述完全一致。外设支持情况本 BSP 目前对外设的支持情况如下表片上外设支持情况备注GPIO支持PA0, PA1... --- PIN: 0, 1...113UART支持UART0 - UART7I2C支持I2C1SPI支持SPI0 - SPI2SPI FLASH支持ADC支持ADC0 - ADC2扩展模块支持情况备注暂无暂不支持暂不支持从 bsp/gd32/arm/gd32450z-eval/board/Kconfig 的源码结构看该 BSP 的外设驱动能力是通过板级 Kconfig 与公共驱动库bsp/gd32/arm/libraries/gd32_drivers协同实现的板级 Kconfig 负责外设开关与引脚选择公共驱动库则提供drv_gpio、drv_usart、drv_spi、drv_adc、drv_can、drv_rtc、drv_wdt、drv_sdio、drv_usbd、drv_usbh等底层实现。需要说明的是默认工程bsp/gd32/arm/gd32450z-eval/rtconfig.h只使能了 GPIO 与 UART0串口 V1 框架其余外设需要按“进阶使用”章节的步骤手动开启。快速上手使用说明分为两个章节快速上手面向刚接触 RT-Thread 的新手按简单步骤即可把系统跑起来与进阶使用面向需要调用更多板载资源的开发者通过 ENV 工具配置 BSP 开启更多功能。本 BSP 为开发者提供MDK4、MDK5 和 IAR 工程同时支持GCC 开发环境也可使用RT-Thread Studio开发。下面以 MDK5 开发环境为例介绍如何将系统运行起来。硬件连接使用数据线连接开发板到 PC使用 USB 转 232 连接 USART0打开电源开关。编译下载双击project.uvprojx文件打开 MDK5 工程编译并下载程序到开发板。工程默认配置使用GD-Link仿真器下载程序在通过 GD-Link 连接开发板的基础上点击下载按钮即可下载程序到开发板。该 BSP 根目录下同时提供了project.uvprojMDK4、project.uvprojxMDK5、project.ewp/project.ewwIAR以及对应的template.*模板工程开发者可依据工具链选择打开。运行结果下载程序成功之后系统会自动运行LED 闪烁。连接开发板对应串口到 PC在终端工具里打开相应的串口115200-8-1-N即波特率 115200、8 位数据位、1 位停止位、无校验复位设备后可以看到 RT-Thread 的输出信息\ | / - RT - Thread Operating System / | \ 4.0.4 build Jan 9 2021 2006 - 2021 Copyright by rt-thread team msh LED 闪烁的代码实现在 bsp/gd32/arm/gd32450z-eval/applications/main.cmain线程首先通过rt_pin_mode(LED1_PIN, PIN_MODE_OUTPUT)将 PD4 配置为输出模式随后在死循环中交替执行rt_pin_write输出高/低电平并延时 500ms形成 1Hz 闪烁节奏。控制台串口的配置则位于 bsp/gd32/arm/gd32450z-eval/rtconfig.hRT_CONSOLE_DEVICE_NAME uart0即系统默认把uart0作为调试控制台设备。说明上文串口 Banner 中显示的 “4.0.4 build Jan 9 2021” 为 BSP 文档记录时点的构建版本当前仓库 bsp/gd32/arm/gd32450z-eval/rtconfig.h 中RT_VER_NUM已更新为0x50300对应 5.3.0 版本实际编译输出的版本号以本地构建为准。进阶使用用 ENV 开启更多外设此 BSP 默认只开启了 GPIO 和 UART0 的功能如果需使用高级功能需要利用ENV 工具对 BSP 进行配置步骤如下在bsp/gd32/arm/gd32450z-eval目录下打开 ENV 工具Windows 下右键“Env 命令行”或在终端中进入该目录。输入menuconfig命令配置工程配置好之后保存退出。输入pkgs --update命令更新软件包。输入scons --targetmdk4/mdk5/iar命令重新生成工程按使用的 IDE 选择mdk4、mdk5或iar。执行上述第 4 步后ENV 会根据最新配置重新生成 MDK/IAR 工程文件然后再回到 IDE 中编译下载即可。板级 Kconfig 结构解读menuconfig的配置界面由 bsp/gd32/arm/gd32450z-eval/board/Kconfig 定义其菜单层级为Hardware Drivers Config硬件驱动配置Onboard Peripheral Drivers板载外设驱动当前为空菜单On-chip Peripheral Drivers片上外设驱动Board extended module Drivers扩展模块驱动当前为空菜单其中 “On-chip Peripheral Drivers” 菜单下可配置的外设及默认值如下表配置项功能默认值关联 RT-Thread 框架BSP_USING_GPIOGPIO 引脚驱动开启RT_USING_PINBSP_USING_UARTUART 串口开启RT_USING_SERIAL/RT_USING_SERIAL_V2BSP_USING_SPISPI 总线关闭RT_USING_SPIBSP_USING_ADCADC关闭RT_USING_ADCBSP_USING_TIM通用定时器关闭RT_USING_CLOCK_TIMEBSP_USING_ONCHIP_RTCRTC关闭RT_USING_RTC/RT_USING_ALARMBSP_USING_WDT看门狗关闭RT_USING_WDTBSP_USING_SDIOSDIO关闭RT_USING_SDIORT_USING_DFSBSP_USING_USBDUSB Device关闭RT_USING_USB_DEVICEBSP_USING_USBHUSB Host关闭RT_USING_USB_HOSTBSP_USING_CANCAN 总线关闭RT_USING_CANRT_USING_DEVICE_IPC这些开关在保存menuconfig配置后会被写入生成的rtconfig.h并与bsp/gd32/arm/libraries/gd32_drivers公共驱动库中的drv_*.c文件通过 SConscript 的if GetDepend(...)机制联动实现驱动的条件编译。UART 串口的精细化配置在BSP_USING_UART菜单下Kconfig 提供了两套串口框架的选择BSP_USING_SERIAL_V1使用 Serial V1 框架默认对应drv_usart.c与RT_USING_SERIALBSP_USING_SERIAL_V2使用 Serial V2 框架对应drv_usart_v2.c与RT_USING_SERIAL_V2并额外支持 RX/TX DMA 配置。板级代码 bsp/gd32/arm/gd32450z-eval/board/board.c 通过#ifdef RT_USING_SERIAL_V2分支分别引入drv_usart_v2.h或drv_usart.h实现两套框架的自动适配。以默认的 UART0 为例其可配置项包括配置项含义默认值BSP_UART0_TX_PINUART0 TX 引脚名PA9BSP_UART0_RX_PINUART0 RX 引脚名PA10BSP_UART0_AFIO复用功能号AF1若选择 Serial V2 框架还会出现以下 DMA 与缓冲区配置配置项含义取值范围默认值BSP_UART0_RX_USING_DMA使能 RX DMA开/关关BSP_UART0_TX_USING_DMA使能 TX DMA开/关关BSP_UART0_DMA_PING_BUFSIZERX DMA 乒乓缓冲大小16 ~ 6553564BSP_UART0_RX_BUFSIZERX 缓冲大小64 ~ 65535128BSP_UART0_TX_BUFSIZETX 缓冲大小0 ~ 65535128UART1 至 UART3 的配置项结构与 UART0 一致只是默认引脚不同如 UART1 默认 PA2/PA3、AF7UART3 默认 PC10/PC11、AF8按需使能即可。其他外设的引脚选择CAN使能BSP_USING_CAN后可分别开启 CAN0 / CAN1。CAN0 的 TX 引脚可在 PA12、PB9、PD1、PH13 中选择默认 PD1RX 引脚可在 PA11、PB8、PD0、PI9 中选择默认 PD0CAN1 的 TX 可在 PB6、PB13 中选择默认 PB6RX 可在 PB5、PI12 中选择默认 PB5。ADC可分别开启 ADC0、ADC1、ADC2。定时器可分别开启 TIM10、TIM11、TIM12。RTC开启后可进一步使能 RTC 闹钟并选择 Alarm0 或 Alarm1。USB Host开启后可启用 Udisk 驱动并可通过UDISK_MOUNTPOINT配置挂载目录默认/。源码级视角系统启动与内存布局从源码角度理解该 BSP 的启动流程有助于后续调试与裁剪系统时钟bsp/gd32/arm/gd32450z-eval/board/board.c 中的SystemClock_Config()完成SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND)与中断优先级设置RT_TICK_PER_SECOND在rtconfig.h中默认为 1000即系统节拍 1ms。SysTick 中断SysTick_Handler()依次调用rt_interrupt_enter()与rt_tick_increase()驱动 RT-Thread 内核时钟。板级初始化rt_hw_board_init()完成向量表重定位SCB-VTORFLASH 模式定位到 0x08000000、时钟配置、串口初始化rt_hw_usart_init、堆初始化与控制台设备绑定。内存堆bsp/gd32/arm/gd32450z-eval/board/board.h 定义了内部 SRAM 堆HEAP_BEGIN到GD32_SRAM_ENDSRAM 大小为 256KB以及外部 SDRAM 区间EXT_SDRAM_BEGIN0xC0000000 起 32MB。当通过 Kconfig 使能BSP_USING_SDRAM后rt_hw_board_init会把堆切换到外部 SDRAM见 board.c。注意事项与维护信息当前 BSP 的“注意事项”章节标注为“暂无”即无已知的额外使用限制。该 BSP 的维护人信息见 bsp/gd32/arm/gd32450z-eval/README.md 末尾社区开发者可参考 bsp/gd32/arm/README.md 与bsp/gd32/arm/libraries/gd32_drivers驱动库进一步了解 GD32 系列 BSP 的公共约定。总结GD32450Z-EVAL BSP 是 RT-Thread 在 GD32F4xx 平台上的典型参考实现默认工程开箱即用GPIO UART0通过 ENVmenuconfig即可按需点亮 SPI、ADC、CAN、RTC、SDIO、USB 等片上外设。建议读者先按“快速上手”跑通最小系统再结合 board/Kconfig 与libraries/gd32_drivers驱动源码逐项实验外设开关从而快速建立“配置驱动代码生成”的完整认知。赞分享操作系统嵌入式物联网嵌入式OSRTOS【免费下载链接】rt-threadRT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/项目地址https://gitcode.com/gh_mirrors/rt/rt-thread点击查看免费下载相关推荐RT-Thread BSP 实战指南GD32103C-EVAL 开发板GD32F103VCT6快速上手与进阶配置RT Thread BSP 实战指南GD32103C EVAL 开发板GD32F103VCT6快速上手与进阶配置 本指南以 RT Thread 仓库中 b操作系统嵌入式物联网嵌入式OSRTOSRT-Thread BSP 开发指南GD32207I-EVAL 评估板GD32F20x 系列快速上手与进阶配置RT Thread BSP 开发指南GD32207I EVAL 评估板GD32F20x 系列快速上手与进阶配置 GD32207I EVAL 是兆易创新G操作系统嵌入式物联网嵌入式OSRTOSGD32H759I-START 开发板 RT-Thread BSP 快速上手与进阶配置指南GD32H759I START 开发板 RT Thread BSP 快速上手与进阶配置指南 GD32H759I START 是兆易创新推出的 GD32H7 系列操作系统嵌入式物联网嵌入式OSRTOS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

MOS管开关损耗总对不上?非本征电容在作祟

MOS管开关损耗总对不上?非本征电容在作祟

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 7:47:13 阅读更多 →
STM32F103寄存器方式流水灯实验报告

STM32F103寄存器方式流水灯实验报告

STM32F103寄存器方式流水灯实验报告 实验引脚:PA0、PB0、PA5、PC13;低电平点亮;流水间隔1s;包含板载PC13 LED。 文章目录STM32F103寄存器方式流水灯实验报告一、实验目的二、实验环境三、硬件引脚与电路说明四、实验原理五、完整…

2026/9/25 11:16:01 阅读更多 →
鼠标每隔几秒自动点击怎么设置?办公重复点击的间隔、坐标与快捷键方法

鼠标每隔几秒自动点击怎么设置?办公重复点击的间隔、坐标与快捷键方法

日常办公中,有些操作并不复杂,却会因为需要反复执行而不断消耗时间。例如连续确认位置固定的弹窗、按照一定时间间隔刷新数据页面,或者在一些固定流程中重复点击同一个按钮。这类任务单次操作可能只需要几秒,但当次数增加到几十次…

2026/9/25 13:15:41 阅读更多 →

最新新闻

PaddleSeg PanopticSeg 全景分割工具箱快速上手:预训练模型推理、训练与评估实战指南

PaddleSeg PanopticSeg 全景分割工具箱快速上手:预训练模型推理、训练与评估实战指南

人工智能计算机视觉预训练 【免费下载链接】PaddleSeg Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting,…

2026/9/25 13:15:42 阅读更多 →
SQL Server PolyBase HDFS Kerberos 连接故障排查:hdfs-kerberos-tester 工具完全指南

SQL Server PolyBase HDFS Kerberos 连接故障排查:hdfs-kerberos-tester 工具完全指南

示例工程数据库教程后端 【免费下载链接】sql-server-samples Azure Data SQL Samples - Official Microsoft GitHub Repository containing code samples for SQL Server, Azure SQL, Azure Synapse, and Azure SQL Edge 项目地址: https://gitcode.com/gh_mirrors…

2026/9/25 13:15:42 阅读更多 →
react-native-mmkv 与 Recoil 集成:用 atomEffect 实现 atom 状态持久化

react-native-mmkv 与 Recoil 集成:用 atomEffect 实现 atom 状态持久化

【免费下载链接】react-native-mmkv ⚡️ The fastest key/value storage for React Native. ~30x faster than AsyncStorage! 项目地址: https://gitcode.com/gh_mirrors/re/react-native-mmkv 点击查看 免费下载 Recoil 的 atom 状态默认只存在于内存中&#xff…

2026/9/25 13:15:42 阅读更多 →
lmms-eval 多模态模型评测框架发布:全面覆盖、低成本、零污染,配 TaoToken 统一 Key 跑通评测链路

lmms-eval 多模态模型评测框架发布:全面覆盖、低成本、零污染,配 TaoToken 统一 Key 跑通评测链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 13:15:42 阅读更多 →
hermes-agent 真的会自我训练吗:从 self-improving 到 OpenRouter 配置的真相

hermes-agent 真的会自我训练吗:从 self-improving 到 OpenRouter 配置的真相

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 13:15:42 阅读更多 →
高并发下缓存穿透与击穿的防御实践:基于Redis的封装方案

高并发下缓存穿透与击穿的防御实践:基于Redis的封装方案

做了这么多年后端,缓存穿透和缓存击穿这个问题我几乎在每个高并发项目里都要重新讲一遍。最近我把这两类问题的防御逻辑统一封装成了一个可复用的工具包,基于Redis实现,核心围绕布隆过滤器、分布式锁、本地缓存和空值缓存这套组合拳。这篇就是…

2026/9/25 13:14:41 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/25 11:15:26 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →