Board logo

标题: 麻雀虽小 五脏俱全:MCU专用RTOS简述(2) [打印本页]

作者: yuyang911220    时间: 2015-9-22 19:20     标题: 麻雀虽小 五脏俱全:MCU专用RTOS简述(2)

主打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、L
PC、PIC32、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般的操作画面,让旧计算机回春。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0