找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2048

积分

0

好友

287

主题
发表于 前天 00:42 | 查看: 7| 回复: 0

开发环境

  • RT-Thread 版本: v5.2.2
  • 目标芯片型号: GD32F450ZK

本文将在之前搭建好的Ubuntu系统与RT-Thread开发环境基础上,手把手演示如何为GD32F450系列单片机创建工程、进行配置,并使用VSCode完成编码与测试。

获取BSP源码包

首先,我们需要获取对应版本的RT-Thread源码。打开终端,执行以下命令来克隆指定版本(v5.2.2)的仓库:

git clone --depth 1 -b v5.2.2 https://gitee.com/rtthread/rt-thread.git
cd rt-thread/
git describe --tags

终端中克隆RT-Thread仓库并检查版本

最后一条命令用于确认当前所在代码的标签版本,应输出 v5.2.2

生成独立工程

RT-Thread使用BSP(板级支持包)结构。我们进入GD32F450评估板的BSP目录,并生成一个可独立分发的工程。

cd rt-thread/bsp/gd32/arm/gd32450z-eval
scons --dist

执行打包命令时,可能会遇到依赖包缺失的提示。

终端提示缺少依赖包

根据提示,运行包管理器更新命令以下载所需的芯片支持包:

pkgs --update

终端中更新GD32芯片驱动包

依赖包下载完成后,再次执行 scons --dist 命令。这次命令会成功执行,将BSP打包成一个独立的工程目录(例如 dist/gd32450z-eval),方便我们后续在VSCode中打开和开发。打包过程涉及到编译和链接的准备工作。

成功生成工程分发目录

关键工程配置

将生成的独立工程目录(gd32450z-eval)在VSCode中打开,接下来需要对几个关键文件进行修改,以适配GD32F450ZK芯片的具体硬件资源。

1. 修改链接脚本 (link.ld)
找到并打开 link.ld 文件。GD32F450ZK的Flash大小为3072KB,但SRAM大小为192KB(而非256KB)。需要将DATA区域的LENGTH256k 修改为 192k

修改链接脚本中的SRAM大小定义

这个链接脚本定义了程序的内存布局,是链接器工作的核心依据。

2. 修改板级头文件 (board.h)
打开 board.h 文件,找到SRAM大小定义的部分。同样地,将 GD32_SRAM_SIZE 的宏定义值从 256 修改为 192

修改board.h文件中的SRAM大小宏定义

此处的修改确保了系统在初始化时能正确识别可用的内存管理空间。

3. 修改RT-Thread配置文件 (rtconfig.h)
打开 rtconfig.h 文件,找到控制台设备名称的定义。需要将 RT_CONSOLE_DEVICE_NAME 的宏定义从 “uart” 改为 “uart0”,以匹配GD32系列UART设备的命名。

修改配置文件中控制台设备名称

编译与功能测试

完成上述配置后,我们就可以开始编写应用代码了。在 applications 目录下的 main.c 文件中,实现一个简单的LED闪烁程序作为测试。

/*
 * 程序功能:LED闪烁
 * 硬件连接:LED连接在PE3引脚
 */
#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>

/* 定义LED引脚: PE3 */
#define LED1_PIN GET_PIN(E, 3)

int main(void)
{
    int count = 1;
    /* 设置LED引脚为输出模式 */
    rt_pin_mode(LED1_PIN, PIN_MODE_OUTPUT);

    while (count++)
    {
        rt_pin_write(LED1_PIN, PIN_HIGH); // 点亮LED
        rt_thread_mdelay(500);             // 延时500ms
        rt_pin_write(LED1_PIN, PIN_LOW);  // 熄灭LED
        rt_thread_mdelay(500);             // 延时500ms
    }
    return RT_EOK;
}

在终端中进入工程目录,使用 scons 命令即可编译项目,生成固件。将固件下载到GD32F450ZK开发板后,可以看到LED开始以1秒的周期闪烁。

VSCode中编辑LED闪烁代码并调试

通过串口工具连接开发板,上电后可以看到RT-Thread系统成功启动,并进入命令行交互界面(msh),这标志着整个开发环境与基础工程运行正常。

RT-Thread系统成功启动并进入msh命令行

至此,我们已经完成了在RT-Thread操作系统下,使用VSCode进行GD32F450单片机开发的完整流程。从环境搭建、工程创建、配置修改到代码编写与功能验证,这个过程涵盖了嵌入式系统编程的多个基础环节。希望这篇实践指南能为你后续更复杂的项目开发打下基础。更多深入的技术文档和社区讨论,欢迎访问云栈社区。




上一篇:AI自动化测试实战对比:Playwright MCP、Skills与Dev Browser避坑指南
下一篇:如何搭建树莓派音乐播放器:基于Volumio的家庭音频中心指南
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-9 17:59 , Processed in 0.201664 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表