RT-Thread 第1课时:RT-Thread 概述与开发环境搭建(超详细实操版)
哈喽大家好~ 今天开启 RT-Thread 系统学习的第一站,也是最基础、最关键的一步——了解 RT-Thread 是什么,以及如何搭建一套能直接上手实操的开发环境。本博客全程保姆级讲解,从理论到实操,每一步都附细节说明,新手也能轻松跟上,建议收藏备用!
先说明一下前置基础(新手必看):需要熟练掌握 C 语言(指针、结构体、函数指针是核心,后续内核学习会频繁用到),了解基础的嵌入式硬件知识(比如知道 MCU 是什么、GPIO 怎么用),如果用过 STM32 开发会更顺畅,没有也没关系,跟着步骤走就能搞定。
一、理论基础:认识 RT-Thread(搞懂它,再动手)
在搭建环境前,我们先搞清楚 RT-Thread 到底是什么,为什么要学它,以及它有哪些优势,避免盲目上手。
1.1 RT-Thread 简介
RT-Thread 诞生于 2006 年,是一款以开源、中立、社区化为核心理念发展起来的国产物联网操作系统(IoT OS),主要采用 C 语言编写,代码风格浅显易懂,具备极强的可移植性,能够快速适配多种主流微控制器(MCU)及通信模组。它不是简单的实时内核,而是一套“内核+中间件+软件生态”的完整物联网操作系统,既能满足资源受限的低端 MCU 需求,也能适配功能复杂的高端物联网设备。
和我们可能听过的 FreeRTOS、uC/OS 相比,RT-Thread 最大的优势就是“国产化、生态全、易上手”,而且完全开源免费商用,对于国内开发者来说,文档、社区支持更便捷,后期项目落地也更有优势。
1.2 RT-Thread 多版本特性(重点区分,按需选择)
RT-Thread 提供多个版本,适配不同的硬件场景,我们入门阶段重点掌握前两个版本即可:
-
Nano 版:专为资源极度受限的 MCU 设计,最小配置仅需 3KB Flash + 1.2KB RAM,只有内核、shell(msh)、设备驱动三大功能,以 Keil5 的 pack 形式发布,适合 8/16 位或低端 32 位 MCU,也是我们入门实操的首选版本[3]。
-
标准版:面向功能丰富的物联网设备,支持图形界面、网络协议栈、智能语音等高级功能,可通过在线软件包管理工具实现“搭积木式”快速开发,适合复杂项目开发。
-
Smart 版:面向高端嵌入式设备(如 Cortex-A 系列),支持虚拟内存、多进程,适合需要运行复杂应用的场景,入门阶段暂不涉及。
1.3 RT-Thread 核心优势(为什么选它?)
结合入门场景,重点说 4 个核心优势,新手能直观感受到它的便捷:
-
低资源占用:Nano 版极致精简,普通 32 位 MCU(如 STM32F103)完全能轻松运行,不用纠结硬件配置。
-
高度可裁剪:通过配置文件就能开启/关闭功能,按需裁剪后,固件大小可灵活调整,适配不同资源的硬件。
-
生态丰富:官方及社区已贡献 450+ 软件包,覆盖传感器驱动、云平台接入、AI 推理等,后期开发项目可直接复用,大幅缩短开发周期。
-
易上手:有专属的 RT-Thread Studio 开发工具,集成了编译、下载、调试等功能,图形化配置,比用 Keil 手动配置更高效,新手友好[4]。
1.4 RT-Thread 架构分层(快速了解内部结构)
RT-Thread 整体分为三层,从下到上依次是内核层、组件层、软件包层,不用深入钻研,先有个整体认知即可:
-
内核层:核心中的核心,包含多线程调度、信号量、邮箱、内存管理、定时器等基础功能,还有 libcpu 与 BSP(板级支持包),提供芯片和硬件平台的底层支持。
-
组件层:基于内核构建的上层模块,比如 FinSH 命令行、虚拟文件系统、网络协议栈、设备驱动框架等,都是我们后续会逐步学习的内容。
-
软件包层:面向不同应用领域的通用软件组件,比如传感器驱动、MQTT 协议、GUI 界面等,可通过工具一键下载使用,不用重复造轮子。
1.5 应用场景(知道学了能用来做什么)
RT-Thread 的应用场景非常广泛,主要集中在三大领域,后期我们的实战项目也会贴合这些场景:
-
工业控制:比如智能控制器、PLC、工业网关等;
-
消费电子:比如智能手表、智能家居设备、可穿戴设备等;
-
物联网:比如物联网节点、智能传感器、网关设备等。
二、实操演练:搭建 RT-Thread 开发环境(核心环节,一步都不能错)
实操是本课时的重点,我们以“RT-Thread Studio(推荐)”为主,Keil MDK + Env 工具为辅,全程以 STM32F103 开发板为例(STM32L475 操作流程一致),一步步完成环境搭建,最终实现 LED 闪烁,验证环境是否可用。
准备工具:电脑(Windows 系统,建议 Win10/11)、STM32F103 开发板、USB 数据线(用于下载程序)、串口线(可选,后续调试用)。
2.1 安装 RT-Thread Studio(推荐新手首选)
RT-Thread Studio 是官方推出的专属 IDE,集成了 SDK、编译工具、调试工具,不用手动配置,安装步骤简单,具体如下:
-
下载安装包:进入 RT-Thread 官方网站(https://www.rt-thread.org/),找到“工具”→“RT-Thread Studio”,下载对应 Windows 版本的安装包(建议下载最新稳定版)。
-
开始安装:双击下载好的安装包,点击“接受”许可协议,选择安装路径(重点:路径不能包含中文和空格,比如 D:\RT-Thread Studio,避免后续编译报错)。
-
后续配置:指定开始菜单文件夹,点击“安装”,等待进度条完成,安装结束后点击“完成”,软件会自动启动。
-
首次登录:第一次启动需要登录 RT-Thread 账号,没有的话注册一个(免费),登录一次后后续会自动记住,支持第三方账号登录,登录后即可正常使用。
-
注意事项:Windows 10/11 系统建议用管理员权限运行安装程序,避免出现权限不足导致的安装失败或功能异常问题。
2.2 安装 STM32 芯片支持包(关键步骤,缺一不可)
RT-Thread Studio 默认不自带 STM32 芯片支持包,需要我们手动安装,否则无法新建 STM32 相关项目,步骤如下:
-
打开 RT-Thread Studio,点击顶部菜单栏“工具”→“SDK 管理器”。
-
在 SDK 管理器中,找到“STM32”分类,勾选“STM32F1 系列”(如果用的是 STM32L475,就勾选 STM32L4 系列),点击“下载并安装”,等待安装完成(安装过程需要联网,耐心等待)。
-
安装完成后,重启 RT-Thread Studio,芯片支持包即可生效。
2.3 新建第一个 RT-Thread 项目(Nano 版最简工程)
环境和芯片支持包都安装完成后,我们新建一个 Nano 版最简工程,这是入门的第一个项目,步骤如下:
-
打开 RT-Thread Studio,点击顶部“文件”→“新建”→“RT-Thread 项目”。
-
项目配置:
-
项目名称:自定义(比如 rtthread_nano_led),建议英文,不要包含中文和空格;
-
项目类型:选择“RT-Thread Nano 项目”;
-
芯片选择:选择自己的开发板型号(比如 STM32F103C8T6);
-
其他默认即可,点击“完成”,等待项目创建(首次创建会下载相关依赖,联网即可)。
-
-
项目创建完成后,左侧“项目管理器”中会显示项目目录,重点关注 3 个核心文件夹:
-
rt-thread:RT-Thread Nano 内核源码,包含内核核心功能;
-
board:板级支持包,包含开发板相关的配置(比如 GPIO 定义);
-
src:我们自己编写的应用代码,后续的 LED 闪烁代码就写在这里。
-
2.4 编写代码,实现 LED 闪烁(验证环境)
项目创建完成后,我们编写简单的 LED 闪烁代码,通过这个小程序验证开发环境是否搭建成功,步骤如下:
-
打开 src 文件夹下的 main.c 文件,删除默认的示例代码,编写如下代码(注释详细,新手可直接复制,注意修改 GPIO 引脚为自己开发板的 LED 引脚):
#include <rtthread.h>#include <rtdevice.h>#include "board.h"// 定义 LED 引脚(以 STM32F103C8T6 为例,LED 接 PA5)#define LED_PIN GET_PIN(A, 5)int main(void){// 初始化 LED 引脚为输出模式rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT);while (1){rt_pin_write(LED_PIN, PIN_LOW); // LED 点亮rt_thread_mdelay(500); // 延时 500msrt_pin_write(LED_PIN, PIN_HIGH); // LED 熄灭rt_thread_mdelay(500); // 延时 500ms}} -
代码说明:
-
GET_PIN(A,5):RT-Thread 提供的引脚定义宏,简化 GPIO 配置,A 代表端口 A,5 代表引脚 5;
-
rt_pin_mode():配置引脚模式,这里设置为输出模式;
-
rt_pin_write():控制引脚电平,PIN_LOW 为低电平(点亮 LED),PIN_HIGH 为高电平(熄灭 LED);
-
rt_thread_mdelay():RT-Thread 提供的延时函数,单位是 ms,和我们平时用的 delay 函数类似。
-
2.5 编译、下载程序(关键一步,看结果)
代码编写完成后,我们进行编译和下载,步骤如下:
-
编译程序:点击顶部菜单栏“构建”→“构建项目”,或者直接点击工具栏的“锤子”图标,开始编译。编译成功后,底部“控制台”会显示“构建成功”,如果报错,大概率是引脚定义错误或芯片支持包未安装成功,检查并修改即可。
-
连接开发板:用 USB 数据线将开发板连接到电脑,确保电脑能识别到开发板(如果识别不到,安装对应的 USB 转串口驱动)。
-
下载程序:点击顶部菜单栏“运行”→“下载”,或者点击工具栏的“下载”图标,选择下载方式(默认是 Serial 串口下载,波特率默认 115200,无需修改),点击“确定”,开始下载。
-
验证结果:下载完成后,开发板上的 LED 会开始闪烁(每隔 500ms 亮灭一次),说明开发环境搭建成功,恭喜你,完成了 RT-Thread 的第一步实操!
2.6 补充:Keil MDK + Env 工具安装(可选,进阶备用)
如果习惯用 Keil MDK 开发,也可以搭建 Keil + Env 工具的环境,步骤简要说明(详细步骤后续补充):
-
安装 Keil MDK:下载 Keil MDK5 版本,安装完成后,安装 STM32F1 芯片支持包(和 RT-Thread Studio 安装芯片支持包类似)。
-
安装 Env 工具:从 RT-Thread 官方网站下载 Env 工具,解压后即可使用,无需安装,它主要用于配置 RT-Thread 项目、下载软件包等。
-
新建项目:在 Keil 中新建 STM32 项目,通过 Env 工具配置 RT-Thread Nano 内核,添加内核源码,后续编译、下载流程和普通 Keil 项目一致。
新手建议先熟悉 RT-Thread Studio,操作更简单,后期再尝试 Keil + Env 工具。
三、课后任务(巩固练习,加深印象)
实操完成后,完成以下 2 个课后任务,巩固本课时的知识点,为后续学习打下基础:
-
熟悉 RT-Thread Studio 界面:重点熟悉“项目管理器”“代码编辑器”“编译配置”“控制台”这 4 个部分,尝试修改项目配置(比如修改项目名称、调整编译选项),了解每个功能的作用。
-
修改 LED 闪烁频率:在刚才的代码中,修改 rt_thread_mdelay() 的参数(比如改为 1000ms、200ms),重新编译、下载,观察 LED 闪烁频率的变化,理解延时函数的使用,同时尝试修改 LED 引脚,实现不同引脚的 LED 闪烁。
四、常见问题排查(新手必看,避坑指南)
搭建环境过程中,新手可能会遇到一些问题,这里整理了 3 个最常见的问题及解决方案,帮你快速避坑:
-
问题 1:编译报错,提示“未找到芯片支持包”? 解决方案:重新打开 SDK 管理器,确认对应系列的芯片支持包已安装,安装完成后重启 RT-Thread Studio。
-
问题 2:下载失败,提示“未识别到开发板”? 解决方案:检查 USB 数据线是否连接正常,安装对应的 USB 转串口驱动,确认开发板电源已开启。
-
问题 3:下载成功后,LED 不闪烁? 解决方案:检查 LED 引脚定义是否正确(确认自己开发板的 LED 接的是哪个引脚),检查代码中的引脚配置是否正确,重新编译下载。
五、总结
本课时我们完成了 RT-Thread 的入门第一步:了解了 RT-Thread 的基本概念、多版本特性、核心优势和架构,重点搭建了 RT-Thread Studio 开发环境,编写了第一个 LED 闪烁程序,验证了环境的可用性。
其实 RT-Thread 入门并不难,重点是先搞定环境搭建,后续的内核学习、驱动开发,都是在这个基础上逐步深入的。下一节课我们会讲解 RT-Thread 的启动流程和工程结构,进一步熟悉 RT-Thread 项目的组成。
如果觉得本文对你有帮助,欢迎点赞+收藏+关注,后续会持续更新rt-thread 新手实战教程,陪你从入门到精通!
日常深耕嵌入式、物联网、协议开发相关技术,有技术答疑、项目合作、毕设指导需求,均可私信私聊!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)