微操控器(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等嵌入式MCU架构。
Express Logic推出的ThreadX,则是一套免收权利金的RTOS,其长处是具有超快速的开机时刻、反应时刻,其Picokernel中心长度低于2KB,并经过安全标准,声称有21亿个设备导入运用。例如HP的旗下打印机和业务机便选用该RTOS。可广泛支撑各式32位元MCU,包括ARM、Atmel、 BlackFin、CoreFire/68K、EFM32、Freescale (NXP)、FM3、H8、XMC、M-Core、MicroBlaze、MIPS、Nios II、Power、STM32、StrongARM、Synopsys ARC、TI、Win32、x86/x386、XScale等等。
Wind River公司所推出的VxWorks,首要针对嵌入式体系规划,采Monolithic (单体式)中心,优势是具有先占式多工处理中心、循环履行、岔断快速反应等特性,原生支撑64位元处理器架构(x64)、可进行平行(SMP)/非平行 (AMP)处理,累积至今有超越15亿个设备导入。
新版VxWorks 7则瞄准IoT所需求的可扩大性、安全性、衔接性、绘图才能、虚拟化等做强化,而全功用的VxWorks微中心长度只需20KB。VxWorks广受科技业界的选用,登陆火星的Curiosity(猎奇号)便选用VxWorks。该RTOS支撑Intel x86(包括Quark SoC与x86-64)、MIPS、PowerPC、SH-4、ARM等CPU/MPU架构。
RoweBots公司的Unison OS,则是一款彻底兼容于POSIX(可移植操作体系接口)的RTOS,适用于MCU、DSC、DSP、SoC、FPGA等32位元的硬件开发环境,其优点是特别针对物联网的运用,提高其体系安全性,且中心程序码在某些运用架构能够低到仅1KB。支撑Microchip PIC32、Renesas R32C/SH2A、ST STM32、TI ARM Cortex-M3等32位元MCU。
Micrium的μc/OS-II (microcontroller OS version 2),主打可携、能在ROM履行、弹性、先占式多工的RTOS中心,可办理高达250个运用使命。μc/OS-III则主打无限运用使命、几近于零的岔断,并可供给原始码给客户。
其优势在于该体系原始码敞开、整齐共同、注释翔实,亦经过FAA认证与DO-178B认证,合适各种嵌入式与物联网的体系开发,中心巨细从5或 6KB~24KB。至于μc/OS-III HW-RTOS,则是针对ARM Cortex-M为主的MCU做硬件加速。该RTOS可支撑超越100种DSP、MPU、MCU。
ARM MCU促进开源RTOS鼓起
近年来因为ARM架构的处理器横扫全球智能举动设备(手机/平板)商场,除了调配各MCU/MPU硬件渠道所推出的商用RTOS/IDE之外,为进军物联网与穿戴式的MCU级运用,ARM推出Cortex-M与Cortex-R的指令集架构,调配开源的OS/IDE来抢占MCU的运用商场。
例如ARM推出的mbed OS与相关开发环境,便着重于嵌入式设备与IoT的运用,具有衔接性、高效率、安全性、生产力的OS,调配其mbed-rtos函式库,亦可做为RTOS的运用。该mbed开发环境,可开宣布智能家庭、才智城市、穿戴式等运用产品。
此外,坊间针对ARM渠道所推出的开源RTOS/IDE许多,例如FreeRTOS、uKOS-II、Atomthreads、BeRTOS社群版、 ChibiOS/RT、CoActionOS、eCos、Embox、Erika Enterprise/RT-Druid、Keil (ARM) RTX、Lepton、nOS、Nut/OS、NuttX、RIOT、RT-Thread、TI-RTOS-KERNEL(SYS/BIOS)、TNeo 等等,让开发人员有更多的挑选。
其它专用MCU的非实时OS概述
此外,也有许多针对MCU规划的开源OS (非RTOS),但相同具有体积小的特性,有些是针对IoT的WSN(无线感测网络)运用,例如Contiki OS、TinyOS。而有些则具有一般桌上型图形化运用接口(GUI),例如SymbOS、Wheels OS等。
Contiki OS是一套开源的微型OS,可运用在Atmel ARM/AVR、LPC、P%&&&&&%32、TI MSP430/CC2430/2538/2630/2650、STM32W等MCU做IoT运用,也可在博物馆级的8位元核算机(Apple II、Atari、Commodore等)做上网联机、乃至在骨灰级游乐器(Atari Jaguar、Game Boy/Advance、GP32、任天堂红白机、PC Engine等)上履行。
至于SymbOS,则是一套能在8位元Z80 CPU (如MSX、Amstrad)的古玩核算机上履行之免费多媒体图形操作体系,赋予如Windows 95般的操作画面,让旧核算机回春。