RT-Thread诞生于2006年,是一个开源、中立、基于社区的实时操作系统(RTOS)。
RT-Thread主要用C语言编写,简单易懂,移植方便(可快速移植到广泛的主流MCU和模组芯片)。它将面向对象的编程方法应用到实时系统设计中,使代码优雅、结构化、模块化、可裁剪性强。
RT-Thread 有 Standard 版本和 Nano 版本。对于资源受限的微控制器 (MCU) 系统,仅需要 3KB 闪存和 1.2KB RAM 内存资源的 Nano 版本可以使用易于使用的工具进行定制。针对资源丰富的物联网设备,RT-Thread可以使用在线软件包管理工具,配合系统配置工具,实现直观快速的模块化切割,无缝导入丰富的软件包;从而实现Android的图形界面和触摸滑动效果、智能语音交互效果等复杂功能。
RT-Thread不仅有实时内核,还有丰富的组件。其
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
架构如下:
这包括:
内核层:RT-Thread内核,RT-Thread的核心部分,包括内核系统中对象的实现,如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等;libcpu/BSP(Chip Migration Related Files/Board Support Package)与硬件密切相关,由外设驱动和CPU移植组成。
组件和服务层:组件是基于RT-Thread内核之上的上层软件,如虚拟文件系统、FinSH命令行接口、网络框架、设备框架等。它的模块化设计允许组件内部的高内聚和组件之间的低耦合。
RT-Thread软件包:运行在RT-Thread物联网操作系统平台上的针对不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。RT-Thread 提供了一个开放的包平台,有官方可用的包或开发者提供的包,为开发者提供可复用包的选择,是 RT-Thread 生态系统的重要组成部分。包生态系统对于操作系统的选择至关重要,因为这些包具有高度可重用性和模块化,使应用程序开发人员可以轻松地在最短的时间内构建他们想要的系统。RT-Thread 支持 450+ 软件包。
RT-Thread源码目录如下:
RT-Thread目前已经移植了近200款开发板,大部分BSP都支持MDK、IAR开发环境和GCC编译器,并提供了默认的MDK和IAR工程,用户可以直接基于工程添加自己的应用代码。每个BSP都有相似的目录结构,大部分BSP都提供一个README.md文件,这是一个markdown格式的文件,里面包含了BSP的基本介绍,介绍了如何简单的开始使用BSP。
RT-Thread 支持的架构非常多,已经覆盖了当前应用中的主流架构。涉及架构及芯片厂商:
RT-Thread 支持的主要 IDE/编译器有:
RT-Thread Studio IDE(又名RT-Studio)是RT-Thread团队打造的一站式集成开发环境。具有简单易用的图形化配置系统和丰富的软件包及组件资源。RT-Studio具有工程创建、配置和管理功能,以及代码编辑、SDK管理、编译配置、调试配置、程序下载调试等功能。我们希望尽可能直观地使用 RT-Studio,减少重复工作,提高开发效率。
前期RT-Thread团队还打造了一个辅助工具Env。它是一个带有 TUI(基于文本的用户界面)的辅助工具。开发者可以使用 Env 工具配置生成 GCC、Keil MDK 和 IAR 工程。
RT-Thread 编程指南| RT-Thread Studio IDE | 内核样本| RT-Thread 新手指南
RT-Thread BSP可以直接编译下载到对应的开发板使用。此外,RT-Thread还提供了qemu-vexpress-a9 BSP,无需硬件平台即可使用。有关详细信息,请参阅下面的入门指南。使用 Env 开始使用 QEMU: Windows | Linux Ubuntu | 苹果系统
[/hidecontent]