简介

RT-Thread 是一款由中国开源社区主导开发的开源嵌入式实时操作系统(遵循GPLv2+许可协议,当标识产品使用了RT-Thread时可以按照自有代码非开源的方式应用在商业产品中),它包含实时嵌入式系统相关的各个组件:实时操作系统内核,TCP/IP协议栈、文件系统、libc接口、图形引擎等。

本手册是RT-Thread开源嵌入式实时操作系统的使用手册。

RT-Thread 的软件结构

RT-Thread软件结构

RT-Thread实时操作系统是一个分层的操作系统,它包括了:

  • 底层移植、驱动层,这层与硬件密切相关,由Drivers和CPU移植相构成。
  • 硬实时内核,这层是RT-Thread的核心,包括了内核系统中对象的实现,例如多线程及其调度,信号量,邮箱,消息队列,内存管理,定时器等实现。
  • 组件层,这些是基于RT-Thread核心基础上的外围组件,例如文件系统,命令行shell接口,lwIP轻型TCP/IP协议栈,GUI图形引擎等。

RT-Thread在设计及后续的发展方向上会力图保持RT-Thread自己本身的特色:

  • 小巧的内核及周边组件;
  • 清晰、简单、低耦合的系统结构;
  • 面向对象,类UNIX的编程风格;
  • 尽可能兼容POSIX可移植操作系统接口的方式;

开发、维护

RT-Thread的主要开发成员来自中国,大家主要利用业余时间进行RT-Thread的开发和维护,同时也接受开发者,爱好者,以及专业嵌入式领域公司向RT-Thread捐赠代码。在上海也有一家专业提供RT-Thread技术服务的服务公司:上海睿赛德电子科技有限公司

RT-Thread以一年为开发、发布周期。RT-Thread的每一个版本都会设定一个目标,而后的一年开发周期以这个为目标进行开发、演化改进,同时按照每个季度一个测试版本的形式进行推进。发布的版本包括两种:

  • 一种是正式版本(或者说稳定版本,维护版本),例如2.0.x正式版本,它是2.0.0正式版本的bug fix版本。在功能上并不添加新的功能,而着重于对已有bug的修正;
  • 一种是测试版本(或者说开发版本),例如2.1.0 beta版本。它是以一年期设定目标而演进,完善的版本,相对来说不那么稳定,但具备新的功能,对新的路线的探索;

每个开发版本会提前设定出开发目标,一般是通过邮件、论坛进行沟通后进行;同时每年在中国也会有一到两次的开发者会议,会议上会讨论新版本的目标,或者大版本新的方向。

在开发活动上,RT-Thread相类似的按照上面的软件体系结构划分成三个部分:

  • 内核(kernel),这个是RT-Thread的核心,也是根本;
  • 组件(component),基于核心之上,把一些功能模块划分成独立的一个个组件模块,做到组件与组件之间的低耦合,组件内部的高内聚;
  • 分支(porting),这个是RT-Thread支持的一个个芯片移植,外设驱动等;

这三部分每部分都有维护人,维护人应切实地保证相关部分的正常运行。当前的RT-Thread开发版本放在github.com 上,欢迎每个开发者、爱好者向RT-Thread提交pull request。每个组件、分支的维护人在收到pull request后,会决定是否合并到开发分支中。开发者、爱好者提交的代码应该符合RT-Thread的编程规范,并尽少地影响到其他组件。