第一章:RT-Thread简介与开发环境搭建

各位同学,咱们开始第一课。做嵌入式开发这么多年,我见过不少同行在裸机编程里打转,项目一复杂就头疼。RT-Thread 的出现,说白了就是给单片机装了个「操作系统的大脑」。今天咱们就从零开始,把它的来龙去脉和环境搭好。

1.1 RT-Thread是什么

RT-Thread 是一个开源的实时操作系统内核,专门为资源受限的嵌入式设备设计。它不像 Linux 那样吃内存,STM32F103 这种 M3 内核的芯片就能跑得很欢。

我个人的理解:它就是一个任务调度器 + 一堆中间件的集合。你写应用时不用再操心「这个函数什么时候执行」「那个中断会不会冲突」,RT-Thread 帮你管好。

核心特性一览:

  • 实时性:任务优先级抢占,响应时间可预测
  • 轻量级:最小内核 ROM 3KB,RAM 1.5KB
  • 组件丰富:文件系统、网络协议栈、设备驱动框架
  • 生态活跃:国内开发者社区庞大,文档中文友好

1.2 为什么选择RT-Thread

你可能会问:FreeRTOS 不也挺好吗?嗯,确实。但 RT-Thread 有几个让我坚持用的理由:

对比项 RT-Thread FreeRTOS
内核源码风格 面向对象,结构清晰 C 函数堆叠,可读性一般
中间件 内置 finsh 控制台、DFS 文件系统 需第三方移植
调试工具 命令行交互,在线查看线程状态 依赖 IDE 调试器
学习曲线 平缓,中文资料多 英文文档为主

我在项目中遇到过一件事:用 FreeRTOS 做产品,调试时想看看某个线程的栈使用情况,得自己加打印。换成 RT-Thread 后,finsh 里敲个 list_thread 就全出来了。这种体验上的差距,用一次就回不去了。

1.3 STM32开发环境准备

环境这块,我建议新手用 Keil MDK,老手随意。咱们以 Keil 为例,IAR 流程类似。

1.3.1 安装Keil MDK

  1. 去 Keil 官网下载 MDK-ARM 最新版(V5.38 或更高)
  2. 安装时勾选「Cortex-M3」器件支持包
  3. 安装对应芯片的 Pack:STM32F1xx_DFP
  4. 破解(你懂的,正版用户请忽略)

避坑指南: 我曾经因为 Keil 版本太老,编译 RT-Thread 时一堆语法错误。后来发现是编译器 AC5 和 AC6 的差异。建议直接用 AC6(V6 编译器),省心。

1.3.2 安装串口调试工具

推荐 SecureCRT 或 Putty。波特率 115200,数据位 8,停止位 1,无校验。后面 finsh 控制台全靠它。

1.4 RT-Thread源码获取与工程模板创建

源码获取有两种方式:

  • 方式一:GitHub 克隆 —— git clone https://github.com/RT-Thread/rt-thread.git
  • 方式二:官网下载压缩包 —— 访问 rt-thread.org,选「下载」页面

我个人习惯用 GitHub,方便后续更新。下载后目录结构是这样的:

rt-thread/
├── bsp/          # 板级支持包(STM32各系列)
├── components/   # 组件(finsh、DFS、lwIP等)
├── include/      # 内核头文件
├── libcpu/       # CPU架构移植代码
├── src/          # 内核源码
└── tools/        # 构建脚本

1.4.1 创建工程模板

咱们以 STM32F103ZET6 为例,创建最小工程:

  1. 复制 bsp/stm32/stm32f103ze 文件夹到工作目录,重命名为 my_project
  2. 打开 Keil 工程文件 project.uvprojx
  3. 在 Target 选项里确认芯片型号和 Flash 大小
  4. 编译,应该零错误零警告

小技巧: 第一次编译如果报错找不到 rtconfig.h,去 board 文件夹下复制 rtconfig.h.template 改名为 rtconfig.h。这个文件是 RT-Thread 的配置总开关。

1.5 知识体系总览

下面这张图帮你理清本章的核心脉络:

第一章:RT-Thread简介与开发环境搭建 RT-Thread是什么 为什么选择RT-Thread 开发环境搭建 实时操作系统内核 任务调度器 + 中间件 轻量级、实时性 中文生态、调试方便 Keil MDK安装 源码获取与模板创建 目标:搭建可编译的RT-Thread最小工程 后续章节将基于此模板添加任务调度功能

1.6 验证环境是否正常

工程编译通过后,下载到开发板。打开串口工具,复位开发板,你应该能看到:

 \ | /
- RT -     Thread Operating System
 / | \     4.1.0 build Jan 10 2025
 2006 - 2025 Copyright by RT-Thread team
msh />

看到这个 msh /> 提示符,恭喜你,环境搭建成功!

验证清单:

  • ✅ Keil 编译零错误零警告
  • ✅ 下载到开发板能运行
  • ✅ 串口输出 RT-Thread 启动信息
  • ✅ 输入 help 能看到命令列表

嗯,到这里第一章就结束了。环境搭好,后面咱们才能动手写任务调度代码。记住:工欲善其事,必先利其器。别急着往下赶,先把工程跑通再说。