RT-Thread——国产RTOS标杆

1.写在前面

  大概是2014年9月,接过主管交接的项目,项目以STM32F103ZET6硬件平台,而运行的实时系统(RTOS)正是RT-Thread(RTT)。也是从此时开始接触到RTT,国人自己写的开源系统,从此对其也是“爱不释手”。在往后的工作中,一直在使用,特别是在后来换了份工作,在新东家里用RTT开发了几款产品,并成功量产上市,期间给自己也带来了财富和才华。比较惭愧的是,在RTT伴随着自己职业生涯的几年里,除了给身边的同行、朋友推荐RTT,及在各大论坛(CSDN、21ic、opendv)推荐RTT外,暂未没有向RTT源码仓库提交过自己的代码,一直是作为“伸手党”。RTT是一个开源的RTOS,其能够快速壮大,离不开作者熊大和开源社区开发大牛的力量,所以总结下过往的使用经验,并整理下以往的代码,在不违反公司制度的前提下开源提交到仓库(GitHub),努力为RTT贡献一份力量。恰逢最近发生比较影响比较大的事件——中美贸易战及中兴被美禁售芯片。从该事件中也暴露出我国的短板——芯片和操作系统,而芯片和操作系统都是一个长时间积累的过程,特别是操作系统,需要一个完善的生态链,简单说就是需要广大的开发者参与进来,形成一个开发生态链,如手机的安卓系统。故,让更多同行知道RTT,并参与到开发中,发展属于自己国人的操作系统。

2.官方介绍

  RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过11年的累积发展,RT-Thread已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源RTOS。

  RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

3.个人使用体会

1)支持的CPU众多,支持当前应用中的主流架构的CPU,并且都移植好相关bsp包,几乎是获取源码即可运行,免去新手复杂的环境构建步骤。
2)占用资源小,官方介绍最小配置时,内核可以到3K ROM和1K RAM 的占用。正常使用一片STM32F103C8T6(20k RAM,64 k flash)都能跑起来。
3)支持的任务(线程)数量无限制,256个优先级,支持时间片轮询。这对处理多个任务或者对于时间片要求比较严格的任务非常有优势。
4)完善的外设,如spi、i2c、uart等总线驱动,及TCP/IP协议栈、文件系统、数据库(sqlite3)等资源的支持。使用时,常用的底层不需经过大量修改,只需根据框架增加特殊的驱动,然后将主要的精力花在应用开发上。
5)Linux风格,熟悉Linux的可以很快上手。提供finsh shell、mash shell,类似Linux的命令行模式,能够解析C代码,在命令终端执行代码,对于调试、打log、内存查看等非常有用。为了节省资源,代码发行时关闭finsh shell即可。
6)本人已在使用RTT的项目有3款,以及内部使用的工具2款,有带GUI的也有只使用内核的,产品经过长时间的连续不断电使用,目前为止没有发现因为是RTT的bug而导致的问题。因此RTT经过十多年的沉淀还是非常稳定的。
7)写该文章的目的之一,就是让嵌入式同行者知道并使用RTT,而且RTT是经过实际领域应用考验的,打破他们在此之前对RTT稳定性的怀疑态度。

4.相关资源

[1] 官方地址:https://www.rt-thread.org/index.html
[2] 源码仓库:https://github.com/RT-Thread/rt-thread
[3] 编程指南:http://download.rt-thread.org/download/manual/rtthread_manual.zh.pdf

posted @ 2018-04-19 23:51  Acuity  阅读(283)  评论(0编辑  收藏  举报