微控制器(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、ststm32、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、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般的操作画面,让旧计算机回春。
用于神经场SLAM的矢量化对象建图
云+时代下VR全景行业迎来了爆发期
简单计时器的制作
Zigbee模块的功能/硬件组成/软件组成
Light Conference2019国际会议盛大开幕邀请18个国家50余位知名家
主打嵌入式应用的中高阶RTOS
一文浅析仪器仪表的精度
土壤墒情速测仪的特点介绍
什么是光学级薄膜瑕疵检测系统,它的工作原理分析
终于能正常交付了,ASML官方表示继续向中国企业供应光刻机
首份全国网民3G调查报告发布
如何设计一款简单的移动支付读卡器
烽火亮相第二届产业智能化应用创新推进大会
土壤测定仪的使用方法及技术参数
互联网的技术应用将引领智慧工地快速发展
一段过流、二段过流、三段过流
什么是双极型三极管
MS1836芯片简介 HDMI转CVBS AV芯片/HDMI转CVBS转换器/HDMI转AV Demo
英特尔求而不得的晶圆厂,高塔半导体的前世今生
兆易创新与北科院合作共建远程自主智能机器人芯片应用实验室