RT-Thread STM32G030-Tiny-Board BSP 开发指南:从快速上手到外设扩展

发布时间:2026/9/27 7:16:07

RT-Thread STM32G030-Tiny-Board 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/stm32/stm32g030-tiny-board板级支持包BSP编写面向希望将 RT-Thread 5.2.0 运行到 STM32G030C8T6 这颗 Arm Cortex-M0 内核 MCU 上的开发者。文章以官方 BSP 说明文档为主线结合 BSP 目录下的源码、Kconfig 配置与构建脚本完整覆盖开发板资源、外设支持现状、MDK5 快速上手指引、ENV 进阶配置流程、串口映射注意事项并补充了 LED 点灯程序与时钟初始化等底层实现细节帮助读者一步到位地把系统跑起来并逐步点亮更多板载外设。开发板与 BSP 简介stm32g030-tiny-board是 hywing 为 STM32g030-tiny-board 开发板提供的 RT-Thread BSP板级支持包。该开发板基于STM32G030C8T6芯片属于 Arm Cortex-M0 内核最高主频 64MHz片上资源为64KB FLASH、8KB SRAM同时提供标准 JTAG/SWD 调试接口板载资源精简但足以充分发挥芯片性能。开发板外观如下图所示围绕该芯片的内存布局board/board.h 中定义了与硬件强相关的地址参数FLASH 起始地址0x08000000、容量64 * 1024字节内部 SRAM 容量定义为 8KB堆区HEAP以__bss_end为起点、以STM32_SRAM_END0x20000000 8 * 1024为终点RT-Thread 的动态内存分配即在此区间内工作。外设支持情况BSP 当前对外设的支持情况如下表所示板载外设支持情况备注USB 转串口支持片上外设支持情况备注GPIO支持UART支持UART1从 BSP 的默认配置 rtconfig.h 可以看到硬件驱动层面默认开启了BSP_USING_GPIO依赖 RT-Thread 的RT_USING_PIN设备框架与BSP_USING_UART/BSP_USING_UART1依赖RT_USING_SERIAL并且系统控制台设备被指定为uart1RT_CONSOLE_DEVICE_NAME uart1。也就是说上电后默认就能通过串口 1 看到 RT-Thread 的 MSH 命令行交互。默认开启的功能相对精简若要使用 ADC、I2C、SPI、PWM 等其他片上外设需要按下文「进阶使用」章节通过 ENV 工具进行配置。使用说明使用说明分为「快速上手」与「进阶使用」两个章节前者面向刚接触 RT-Thread 的新手遵循简单步骤即可将 RT-Thread 运行起来并看到实验效果后者面向需要驱动更多板载资源的开发者通过 ENV 工具对 BSP 进行配置开启更多高级功能。快速上手本 BSP 为开发者提供了 MDK5 工程并支持 GCC 开发环境。下面以 MDK5 开发环境为例介绍如何将系统运行起来。请注意在执行编译工作前请先打开 ENV 执行以下指令该指令用于拉取必要的 HAL 库及 CMSIS 库否则无法通过编译pkgs --update这一步与 BSP 的构建机制直接相关查看 BSP 根目录的 SConscript 可以发现编译时会向工程注入STM32G030xx宏定义而 STM32G0 的 HAL 驱动与 CMSIS 头文件并不随 BSP 源码直接分发而是以软件包package的形式管理——默认配置中启用了PKG_USING_STM32G0_HAL_DRIVER、PKG_USING_STM32G0_CMSIS_DRIVER与PKG_USING_CMSIS_CORE见 rtconfig.h。因此首次构建前必须先运行pkgs --update把依赖包拉取到packages目录否则头文件缺失会导致编译失败。硬件连接使用数据线连接开发板到 PC打开电源开关。编译下载双击project.uvprojx文件打开 MDK5 工程编译并下载程序到开发板。工程默认配置使用 ST_LINK 仿真器下载程序在通过 ST_LINK 连接开发板的基础上点击下载按钮即可下载程序到开发板。工程文件project.uvprojx由 ENV/SCons 生成因此如果在进阶使用中修改了配置需要通过scons --targetmdk5重新生成工程后再编译下载。运行结果下载程序成功之后系统会自动运行LED 循环点亮。连接开发板对应串口到 PC在终端工具里打开相应的串口115200-8-1-N即波特率 115200、8 位数据位、1 位停止位、无校验复位设备后可以看到 RT-Thread 的输出信息\ | / - RT - Thread Operating System / | \ 5.2.0 build Dec 2 2024 11:35:30 2006 - 2024 Copyright by RT-Thread team msh 当msh 提示符出现时说明 RT-Thread 内核、finsh/MSH 组件已正常运行可以在命令行中直接输入 RT-Thread 命令进行交互。注意输出中的版本号5.2.0与 rtconfig.h 中RT_VER_NUM 0x50300对应代表内核版本 5.3.0 之前的 5.2.x 分支。LED 循环点亮的实现位于 applications/main.cmain函数把PB4引脚GET_PIN(B, 4)配置为输出模式随后进入while(1)循环以rt_pin_write输出高低电平并配合rt_thread_mdelay(500)实现 500ms 间隔的闪烁同时通过rt_kprintf打印提示信息——这是理解 RT-Thread 引脚 APIrt_pin_mode/rt_pin_write最直观的入门示例。进阶使用此 BSP 默认只开启了 GPIO 和串口 1 的功能如果需使用更多高级功能需要利用 ENV 工具对 BSP 进行配置步骤如下在 bsp 下打开 env 工具。输入menuconfig命令配置工程配置好之后保存退出。输入pkgs --update命令更新软件包。输入scons --targetmdk5命令重新生成工程。完成上述四步后即可在 MDK5 中重新编译下载将新配置的外设驱动加入固件。menuconfig 中的可配置项在menuconfig界面中外设开关集中在Hardware Drivers Config → On-chip Peripheral Drivers菜单下其选项定义见 board/Kconfig。以默认开启的 GPIO 与 UART1 为例主要可配置项包括配置项默认值说明BSP_USING_GPIOy使能 GPIO选中后自动依赖RT_USING_PIN引脚设备框架BSP_USING_UART/BSP_USING_UART1y使能 UART1自动依赖RT_USING_SERIAL串口设备框架BSP_STM32_UART_V1_TX_TIMEOUT2000UART1串口驱动 v1发送超时单位 msBSP_UART1_RX_USING_DMAnUART1 接收 DMA需开启RT_SERIAL_USING_DMABSP_UART1_TX_USING_DMAnUART1 发送 DMA需开启RT_SERIAL_USING_DMABSP_UART1_RX_BUFSIZE256UART1 接收缓冲区大小范围 64~65535串口驱动 v2BSP_UART1_TX_BUFSIZE0UART1 发送缓冲区大小范围 0~65535串口驱动 v2BSP_UART1_DMA_PING_BUFSIZE64UART1 接收 DMA ping-pong 缓冲区大小范围 32~65535从默认配置 rtconfig.h 可以看到当前 BSP 采用串口驱动 v1RT_USING_SERIAL_V1并已打开RT_SERIAL_USING_DMA使能位因此 RX/TX DMA 两个选项在 Kconfig 中处于可选状态若切换为 v2 驱动则可进一步通过RX_BUFSIZE、TX_BUFSIZE等参数调整缓冲策略。底层外设驱动统一由source $(BSP_DIR)/../libraries/HAL_Drivers/drivers/Kconfig引入即 bsp/stm32/libraries/HAL_Drivers 下的公共驱动实现。本章节更多详细的介绍请参考 STM32 系列 BSP 外设驱动使用教程。注意事项调试串口为串口 1引脚映射说明PB6 ------ USART1_TX PB7 ------ USART1_RX即 USART1 的发送引脚为 PB6、接收引脚为 PB7串口线连接时需按此对应关系接线。控制台与 MSH 均复用该串口因此在进阶配置中若要更换调试串口或重映射引脚需要同步修改 board/CubeMX_Config 中的引脚配置与rtconfig.h中的RT_CONSOLE_DEVICE_NAME。板级初始化与系统时钟配置位于 board/board.cSystemClock_Config使用内部高速时钟HSIRCC_OSCILLATORTYPE_HSI作为系统时钟源未使能 PLLAHB/APB1 均不分频FLASH 等待周期为 0——这是默认功耗与性能均衡的时钟方案如需更高主频可在该函数中调整 PLL 配置。联系人信息维护人hywing赞分享操作系统嵌入式物联网嵌入式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 在 STM32F401 WeAct BlackPill 上的 BSP 开发指南从快速上手到外设驱动深度扩展RT Thread 在 STM32F401 WeAct BlackPill 上的 BSP 开发指南从快速上手到外设驱动深度扩展 本篇指南围绕 RT Threa操作系统嵌入式物联网嵌入式OSRTOSQMK Firmware 2020 年 11 月 28 日 Breaking Change 发布说明键盘迁移、核心新特性与构建流程解读QMK Firmware 2020 年 11 月 28 日 Breaking Change 发布说明键盘迁移、核心新特性与构建流程解读 QMK Firmwar操作系统嵌入式物联网嵌入式OSRTOSWasp 页面与路由Pages Routes入门用 route 与 page 声明构建 React 应用导航Wasp 页面与路由Pages Routes入门用 route 与 page 声明构建 React 应用导航 在 Wasp 中页面与路由的声明式配置操作系统嵌入式物联网嵌入式OSRTOS上一篇tfenv 使用教程下一篇Lobsterpicker 使用教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/27 7:16:07

告别低效写作:盘点2026年风靡全网的AI论文网站

一天写完毕业论文在2026年已成现实。2026年最炸裂的AI论文网站,实测提速超300%,覆盖选题、查重、润色、排版全流程,真正帮你高效搞定论文。 一、全流程王者:一站式搞定论文全链路(一天定稿首选) 这类工具覆…

2026/9/27 7:11:06

Microsoft Agent Framework 中 Agent 的架构形态

目录 1. 应用托管型 Agent(Application-owned Agent) 可用的模型提供商 不同 Model Provider 面向 Microsoft Agent Framework 提供的能力 .NET SDK 和 Endpoint 2. 自定义实现型 Agent(Custom Agent) 引用 Abstractions 包…

2026/9/27 8:06:09

wordpress导航调用分类哪家好?防黑挂马与SEO实战指南

wordpress导航调用分类哪家好?防黑挂马与SEO实战指南 网站被黑挂马,后台却查不出原因?这时候选wordpress导航调用分类哪家好,其实是个伪命题。真正的救命稻草,是你是否掌握了正确的调用逻辑,以及底层服务器的安全加固。很多老板一…

2026/9/27 8:06:09

3步搞定网站中加入地图导航,一文搞懂避坑指南

3步搞定网站中加入地图导航,一文搞懂避坑指南 网站被黑挂马不知道怎么办?别慌,这往往是网站结构松散、缺乏安全防护的征兆。很多站长发现页面出现乱七八糟的弹窗或外链时,第一反应是删代码,但根源可能在于你之前为了省事,在 网站中加入地图导航…

2026/9/27 8:06:09

极简交互的减法艺术:如何通过移除 3 个冗余配置让留存翻倍

极简交互的减法艺术:如何通过移除 3 个冗余配置让留存翻倍在软件产品设计的进化史上,开发者和产品经理最容易陷入的一个致命陷阱是:“试图通过不断在【设置页面】里增加开关,来讨好每一个提出小众需求的用户”。 在最初的版本中&a…

2026/9/27 8:01:09

3步搞定商城网站素材管理:图解步骤全拆解

3步搞定商城网站素材管理:图解步骤全拆解 很多后端新手接私活时,最头疼的不是写代码,而是面对客户发来的“商城网站素材”打包文件,里面几百张图、几十个PDF,乱得没法看。更糟的是,你刚把网站搭起来,客户突然问:“为什么图片加载这么慢?”或者“…

2026/9/27 0:00:45

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/27 0:00:45

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:45

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/27 0:00:45

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/27 0:00:45

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:45

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/26 19:58:38

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑