根据《实时操作系统(RTOS)名录》的统计,RTOS许可协议最多的是Apache-2.0。
实时操作系统(RTOS)支持最多的MCU架构依次为:Armv7-M、AVR、RISC-V、Armv6-M、Armv8-M等。
RTOS简介
根据百度百科的解释:“实时操作系统是保证在一定时间限制内完成特定功能的操作系统”。
实时操作系统英文全名为real-time operating system,简写为RTOS,是一种系统软件,用于管理微控制器(MCU)或微处理器的硬件资源,并为应用程序调用提供服务。RTOS的实时性关键在于其最小的中断延迟和线程切换延迟。因此,RTOS具有可预测性和确定性。
一个典型的商用RTOS示例:
RTOS中间件
根据国标《信息技术 中间件术语》(GB/T 33847-2017)中定义:中间件(middleware)是位于系统软件之上,用于支持分布式应用软件,连接不同实体的支撑软件。
中间件是具有一定功能的软件,并为应用提供特定的服务。中间件可以帮助开发者更加快速有效地构建应用程序。中间件有时也称为组件,主要还是运行在RTOS上。
以下是常见的中间件:
类别 |
中间件 |
标准设备 |
SPI、I2C、Ethernet、DMA、RTC、USB Host、USB Device、USB OTG |
文件系统 |
FAT 12/16/32、exFAT、YAFFS、ROMFS、ROOTFS、PROCFS、NFS、RAMFS、TpsFs、NFS、JFFS、DEVFS |
图形用户界面 |
TouchGFX、emWin、Embedded Wizard、μGFX、LittltVGL、QT for MCU、GUIX、easyGUI、AWTK、GuiLite |
网络组件 |
TCP/IP IPv4/IPv6 |
工业组件 |
CANopen、ModBUS、PROFIBUS、EtherNet/IP、EtherCAT、KNX |
连接组件 |
Wi-Fi、蓝牙、803.15.4、LoRaWAN、Thread、Wi-SUN、NB-IoT、2G、4G、5G、OTA |
安全组件 |
SSL/TLS、DTLS、IEC 61508 SIL4、IEC 62304 Class C、ISO 26262 ASIL D、EAL4 /TLS/DTLS、FIPS 140-2 |
人工智能 |
TinyML、TensorFlow Lite、OpenCV、PyTorch、Keras、ONNX |
虽然使用RTOS有很多好处,但也会有成本。一般地,初学的开发者用RTOS,要很好地理解和用好RTOS,还是需要一定的学习成本的。当项目选用RTOS时,必然会占用一定的Flash和RAM空间,这可能会增加MCU选型的成本。开源RTOS虽是免费,但在应用上会有一些限制或局限,会增加隐形的开发成本,而商业化RTOS会提供更好的支持服务。RTOS在使用过程中,需要用到某功能组件(如GUI),稳定可靠的组件可能也会需要购买,或需要第三方服务支持。
项目一旦导入了RTOS,应用软件就将会依赖于该RTOS,一些未知的不确定性系统因素也会随之而来,RTOS的稳定可靠将会直接影响应用程序的运行,开发者需要不断地重复验证和测试以消除系统的不确定因素,这是产品开发一个重要的环节,没有被排除的不确定性因素会导致产品BUG或出现问题。
RTOS的发展RTOS的发展可以大致分为三个阶段:第一阶段 1980s ~ 2009年左右;第二阶段 2009年~2020年左右;第三阶段 2020年以后。
第一阶段,RTOS主要是以本机MCU资源管理为主,MCU资源管理的优化及可扩展性等。第二阶段,2009年中国提出了“感知中国”,推动了物联网的发展,RTOS应用主要体现在通信连接上。尤其是以Wi-Fi、蓝牙等为代表的无线技术迅速发展。众多的公司也推出了各种物联网平台,为物联网应用提供了强大的平台支撑,RTOS主要作用是在平台连接上。第三阶段,随着设备泛连接的发展,以及边缘计算的发,设备间的互联及互操作越来越多,需要一个安全可靠的RTOS来管理。设备互连将成为RTOS发展的一个重要方向。
RTOS发展的驱动力:RTOS的发展驱动力主要有以下几个方面:
- MCU性能不断地提升,资源不断地丰富,可实现的应用功能越来越多
- 设备智能化程度越来越高,MCU固件功能日益增多
- 物联网应用的发展,增加了通信连接管理的需求
- 中间件或组件丰富和扩展了RTOS的功能
- 人工智能(AI)技术不断地发展,RTOS将成为其关键的基础
快速发展的MCU产品性能越来越高,市场出现了几百MHz甚至上GHz的产品,其Flash容量可高达几M字节,这为RTOS运行提供了应用的基础条件。而当MCU固件容量越来越大时,其程序逻辑会越来越复杂,则可能会出现不确定的状态。这都需要RTOS来管理MCU的基本资源,RTOS会更加方便创建和管理任务。
物联网的发展,推动了通信连接管理、FOTA等的应用,RTOS成了连接管理的“底座”,不断地推动着RTOS的应用发展。RTOS也逐渐为互联网或物联网平台公司所重视,很多公司开始支持或发展自有的RTOS。RTOS在平台连接管理中,继续发挥着设备接入的管理角色。
中间件或组件提升了开发应用的效率,丰富和扩展了RTOS的功能。中间件或组件的维护、管理和更新都依赖于稳定的RTOS,中间件或组件的发展也促进了RTOS生态的发展。
随着MCU大规模地应用发展,对数据计算处理的需求日益增多,出现了面向计算的人工智能和机器学习,MCU使用经过训练的模型对数据进行计算处理,做出一些推断预测,提升了设备管理和自治的能力,RTOS也成为了其关键的基础。
,