技术干货:MCU专用RTOS种类盘点
微控制器(MCU)广泛应用在各行各业,如各式家电、工业自动化,即时控制、资料采集等领域,为因应工控所需的即时(Realtime)控制、快速回应等需求,因此MCU大多搭载RTOS(即时作业系统)运作。随着物联网的兴起,软体业也为RTOS加入物联网的成分,以提早卡位物联网的核心软体市场…
各种处理器专用之OS
在一般功能(General-purpose)的处理器市场分类中,若以功能与执行速度来说,大致分为CPU > MPU > MCU。CPU的功能最强,主要应用在电脑产品;MPU功能次之,其应用多元,主要应用在嵌入式系统与精简型电脑等多种;而MCU则是以单一应用为主,应用在各式家电、电子产品、嵌入式产品、可穿戴设备、物联网(IoT)应用产品等控制应用。
MCU内部整合了KHz~MHz级的CPU、KB~MB级的记忆体单元(RAM与ROM/EEPROM/Flash)、时脉产生器(Oscillator;Clock Generator)、与I/O扩充单元等,可视为一种速度较慢的系统单芯片(SoC)。
由于内部存储容量小,因此大型作业系统如Windows、Linux等是不可能塞入MCU去执行的,且MCU大多被应用在即时控制的环境,因此许多容量小的RTOS(Real-Time Operating System;即时作业系统),便成为开发MCU软体的主要平台。
----------------------------
电子发烧友最新一期《智能硬件特刊》即将上线,敬请期待!
主打嵌入式应用的中高阶RTOS
RTOS的种类繁多,主要设计给基于MPU或MCU的嵌入式系统所使用。例如MPU等级专用的有Integrity、QNX、VxWorks等功能强大之 RTOS;至于体积较小巧,主要支援MCU等级为主的RTOS,则有Nucleus、ThreadX、Unison OS、ucOS II/III等等。
以Green Hills Software推出的Integrity OS为例,就是一种支援MPU (甚至CPU等级)为主的RTOS。其强项在于Integrity-178版本已通过EAL 6+(资讯安全)认证与DO-178B(飞安环境) A级认证,被应用在极度重视安全和可靠性的市场,例如战斗机(如B-2、F-16、F-22、F-35)与民航机(如Airbus A380)等领域。该RTOS支援ARM、XScale、Blackfin、Freescale (已并入NXP) ColdFire、MIPS、PowerPC、AMD x86(嵌入式APU)等CPU/MPU平台。
另一个知名的QNX RTOS,采用微核心架构,是唯一成功打入商用市场的OS,其强项是多媒体的即时处理能力,适用于车(机)上娱乐设备与手机等嵌入式市场。QNX于 2010年被BlackBerry购并,并开发出BB 10作业系统。QNX支援IA32、MIPS、PowerPC、SH-4、ARM、StrongARM、XScale等CPU/MPU平台。
至于像是IntervalZero的RTX、RTX64,则是设计来与微软Windows共存共容的RTOS,搭配EtherCAT协定来做为工厂自动化的应用。其中,Windows主要负责GUI、储存、运算,RTX则负责即时工控与资料采集,让工控软体开发更容易。以上的RTOS都是MB至GB等级的 MPU等级OS,不适用于MCU的环境。
主打MCU应用的商用RTOS
中低阶RTOS部分,主要是把软体功能极尽精简到MB甚至KB等级,使整个OS与主要应用程式,均可以塞入MCU里的ROM/EEPROM/Flash。由于MCU应用的领域更加广泛,其软体必须力求更加精简,因此MCU专用的RTOS大多具备非常高度模组化的架构,从核心、驱动程式、档案系统、周边 I/O、网路支援等,都可以量身订作,以利产品快速上市。
商用的RTOS有些会提供原始码给授权客户,而开源的RTOS则更能自由使用,让开发人员可以编译出程式码最小、最佳化的执行环境。
由于各芯片厂所推出的MCU产品/开发板,都会有其对应的OS与IDE(整合软体开发环境),但这些OS与软体开发环境可能只适用于该厂的MCU产品,因此第三方软体厂商,就开发出跨芯片/跨硬体平台的OS与IDE,让开发人员不须因为换了硬体平台,软体就必须全部改写。
目前MCU OS/IDE市场占有率最高的,大多是软体公司所推出商用RTOS(搭配各厂商的MCU产品),然随着ARM推出Cortex-M、Cortex-R等指令集架构,进军可穿戴与物联网应用市场,使得ARM架构(采开源码)的RTOS开始有提升的趋势。
Mentor Graphics旗下Accelerated Technology公司所推出的Nucleus,采Microkernel设计,号称有30亿个设备导入,优势是核心长度可以小至2KB,且开发人员不需要撰写嵌入式设备专用BSP(开发板支援套装软体),因此被广泛应用到消费性电子、移动设备、车用电子、智能能源、医疗仪器、工业/工控等领域。
早期采用联发科MT6217芯片的大陆山寨、白牌、双卡2G手机,就是执行Nucleus RTOS。该RTOS支援ARM、MicroBlaze、MIPS、Nios II、Power、SuperH、XScale等嵌入式
- RTX实时操作系统平台拓展IntervalZero解决方案范围(04-24)
- 麻雀虽小 五脏俱全:MCU专用RTOS简述(04-07)
- Adam Taylor玩转MicroZed:MicroZed操作系统(02-11)
- 从0到1,嵌入式开发就这么简单!(02-09)
- Zynq中使用FreeRTOS的空闲钩子函数时在SDK中的设置(02-09)
- 几位嵌入式技术大牛:嵌入式操作系统那么多,如何选择?(08-11)