嵌入式OS的红花绿叶

2014-03-24 09:02 作者: 何小庆 预计 18 分钟读完

 

前文说到,20世纪70年代末,嵌入式OS商业产品在美国和加拿大等国家出现,90年代末嵌入式OS的数量呈现井喷式增加,最鼎盛的时候有数百种之多,即使经过30多年的发展和淘汰,现在依然有数十余种。我注意到,在众多的公司中有人尽皆知的著名企业,比如微软和风河,而更多的是映衬在这些大红花周围的绿叶公司,其中许多都是小公司,甚至个人,他们多数默默无闻,凭着热情和执着坚守在嵌入式OS的战场,嵌入式OS得发展离不开这些绿叶。我仅就其中3个做一个介绍。


嵌入式OS的前辈-SMX
Micro digital公司创立于1997年,SMX (simple multitasking executive)是一个嵌入式OS,也是一个RTOS。公司最初只是在嵌入式系统领域做工程应用和服务。SMX开发始于1987年,1989年第一个版本的SMX发表了,之后近20年SMX 逐渐丰富和完善,形成包括内核、文件、网络、图形、USB和WiFi模块的一个比较完整的嵌入式OS。


Micro digital的创始人Ralph Moore是这个行业的前辈,早期从事大型计算机的研究,后来自学编程成为微处理器的程序员,经过多年研究成功地开发出SMX。 之后Ralph 转入公司业务开发和销售,最近几年他潜心在v4版本的SMX 多任务内核设计和开发, 最新版本的SMX 内核已经在2014年1月正式发布[1]。


我在2000年1月曾经访问过Micro digital,它位于美国南加州Costa Mesa ,距离著名Orange Country(橘郡)不远,旁边就是UC Irvine大学。我去的时候,当时公司有Ralph 和他的儿子David 还有一个行政助理Betty。最近当我计划写这篇文章查阅SMX 网站的时候,我看到这3个人依然在,另外还增加5个工程师。 与Ralph 的见面促成我们之后的合作,昆明一家公司购买SMX RTOS ,运行工业PC上,用于生产线自动化控制系统。除了这个客户外,SMX这个产品没有找到更多机会在国内推广,但是SMX 代理的GUI模块-PEG,我们在国内找到了一些用户,PEG即可以支持SMX,也可以独立甚至在其他的RTOS运行,我们把PEG移植到VRTX和PPC823平台上面,还开发了中文字库,这样市场就容易推广了。


SMX 有20多年的历史,上百个成功应用,最新版本SMX 4.2在内核性能提高、减少存储器使用、提高安全和可靠性、增加新的特性等方面有了很大的改变[2]。SMX不是很有名气的RTOS,即无法与功能完整的QNX和微软Window CE相比,也无法与小巧灵活的uc/OS 并论。SMX是介于二者之间,即保持嵌入式OS的实时性,也尽可能放入更多的功能,可以满足高性能嵌入式系统的需求。 最难能可贵的是SMX团队在嵌入式OS上坚持不懈的精神。

 

开源新兵-FreeRTOS
FreeRTOS最近几年的名气越来越大了,许多MCU公司的最新ARM Cortex MCU都有移植好的FreeRTOS版本支持。最早听到这个名字是在学习飞利浦的8051单片机的时候,它应该是为数不多的可以支持8位MCU的RTOS中的一个(另外稍有名气的可能是CMX)。让我更多地了解FreeRTOS的人是我的老朋友-Interniche公司的Larry Lader,Interniche公司做嵌入式TCP/IP已经20多年了,TCP/IP 运行最好是在一个OS上面,最近我访问硅谷的时候,Larry告诉我,他的许多用户都在使用FreeRTOS[3]。


FreeRTOS的创始人是 Richard Barry,FreeRTOS软件的开发始于2002年,是一个针对MCU的标准交叉开发平台,已经移植到了27个MCU核上,可以支持17种工具链。根据EEtime 2011年统计每年有超过8万次FreeRTOS下载。现在,FreeRTOS 项目是由Real Time Engineers Ltd 拥有、运行和维护。Richard Barry 同时还参加基于FreeRTOS技术、面向安全和关键应用的软件-SafeRTOS开发[4]。


FreeRTOS是一个紧凑的实时内核,具备RTOS基本功能,占用存储器也比较少。但是缺少内存分配功能,内核调试需要借助第三方-Percepio的嵌入式OS跟踪工具Tracealyzer,FreeRTOS不支持MPU,没有自身的中间件模块,总体看FreeRTOS比较同类的产品功能上有比较大的差距。图书和资料方面,Richard Barry写了一本书,《使用FreeRTOS实时内核:实用指南》,国内的网友有翻译成中文电子版本。最近几年国内的嵌入式软件开发图书中也有章节对FreeRTOS做了介绍。

 

FreeRTOS 遵循GPL的软件授权协议,商业用户亦可购买商业授权获得其私有的授权协议,这样的好处,任何基于FreeRTOS修改和相关的用户代码均可以不公开,这也就是我们通常所说的双授权协议,双授权是FreeRTOS的最大的优势。如果你采用开源授权,那对不起,你必须要把FreeRTOS内核相关修改贡献出来,如果你是商业产品,希望保留这些修改为自己企业商业机密,那么就购买商业授权吧。

 

埋头苦干的ThreadX
ThreadX 创始人Edward L. Lamie博士曾经是美国加州大学斯坦尼斯分校计算机科学系教授,多年从事计算机科学的教学和科研工作,有多本专著出版。其中《Real-Time Embedded Multithreading: Using ThreadX and ARM》已经被出版成多种文字,中文版由北航出版社出版。Lamie的其他作者还包括 Pascal Programming 和PL/1
Programming:a structured,Disciplined Approach[5]。


讲到ThreadX 和Lamie 博士,还有一段小故事。据业界人士介绍,Lamie也是Nucleus RTOS(公司叫Accelerated Technology)的创始人。Nucleus从1.0版本发展到1.3版本后被Mentor收购,Mentor将Nucleus的版本修改为1.11后继续发展,而Lamie另立公司Express Logic,重新开发一个ThreadX,最初版本是3.0,现在已经发展到了5.X。ThreadX和Nucleus虽然大体结构和大部分机制相似,但是Lamie 博士还是做了很多变化。据最新的报道,ThreadX 已经嵌入在超过15亿个设备当中,其中包括大量的消费电子产品,比如HP打印机、多种3G手机芯片和近年来日趋增加的物联网设备[6]。


ThreadX是提供源代码、一次性授权的嵌入式OS,与小型RTOS一样,ThreadX在技术上并无特别的新意。除了内核以外ThreadX 可以提供基本的嵌入式OS的中间件,包括FILEX,GUIX,NETX,USBX等,提供2种内核开发工具-TraceX和StackX,其他工具要借助第三方了,比如IAR和ARM KEIL。Express Logical在市场上非常低调,脚踏实地的把产品做好,应用好和服务好,赢得客户的口碑,如果你注意一下ThreadX的公司网站和宣传资料,他们总是强调有多少设备使用了ThreadX,2007年的数字是4.5亿,到了现在已经是15亿了,这与学者出身的Lamie 博士严谨和务实不无关系。Express Logic位于加州San Diego ,这里汇集了无线通信和医疗领域的美国高科技公司,著名的高通(Qualcom)公司总部就在San Diego,德州仪器、三星、Intel、摩托罗拉、松下等全球主流的高科技企业均在此地设有专门的无线通信研发机构,这些帮助了ThreadX在无线通讯领域有大量的应用。我最近在参观美国CES2014展览的时候,看到一款高通公司最新开发的智能手表-Toq,据现场的人员介绍就是使用了ThreadX 嵌入式OS,见图1。

 



图1 高通(Qualcom)的智能手表-Toq


小结
嵌入式应用千变万化,构建这些应用的嵌入式平台也是百花齐放,其中核心技术-嵌入式OS自然也不能一统天下了。众多嵌入式OS的小公司和个人主导开源项目为嵌入式应用大家族增添了异彩,也为嵌入式OS发展起到了创新和探索的作用。这些绿叶是嵌入式OS大家庭不可缺少的成员,上面我介绍的只是其中3个,还有更多,他们的名字有AMX、CMX、RTXC、EmbOS(德国),RTX(英国)iTron(日本)、Chrous(法国)、RT-thread(中国)、IRMX、DSP/BIOS、INTEGRITY和SafeRTOS(英国)等。


参考资料:
[1]https://www.smxrtos.com/management.html
[2]smx special feature www.smxinfo.com
[3]https:/www.interniche.com
[4]https://en.wikipedia.org/wiki/FreeRTOS
[5] Edward L lamie 著 张炯译 嵌入式实时操作系统多线程计算-基于ThreadX和ARM 北京航空航天大学出版社

[6] https://rtos.com/news/

 

与非网原创内容,未经许可,不得转载

 

系列之一:何为嵌入式操作系统

摘要:对嵌入式操作系统的定义,国内外专家学者和企业界人士的理解都不尽相同,具有代表性的意见有两种;一种是说嵌入式系统就是嵌入式的计算机系统,另外一种认为嵌入式系统是一种机电结合、软硬结合执行某种特殊功能的系统……

系列之二:嵌入式OS的“摩托”系

摘要:摩托罗拉自1974年发布第一款MC6800 --8位微处理器到1979发布的MC68000(简称68K)-16/32位CPU之后,其芯片因为即可以使用在计算机系统中,也可以使用在嵌入式系统,很快成为当时行业的标准。最早开发嵌入式OS的公司,许多都是借助摩托罗拉的市场起家的……

系列之三:VRTX--商业嵌入式OS的开拓者

摘要:除了上一篇提到的OS-9以外,最早出现的嵌入式操作系统(简称为嵌入式OS)当属VRTX,因其在技术上创新性,得到用户和嵌入式系统公司的广泛支持,VRTX可称为商业嵌入式OS的开拓和领导者……

系列之四:μC/OS的故事(一)

摘要:μC/OS的故事起始于1989年。那时,我(注:即Jean Labrosse先生)加入到位于美国佛罗里达州劳德代尔堡市的Dynalco控制公司,并开始为大型工业往复式发动机设计全新的、基于微控制器的点火控制系统……
摘要:由于《μC/OS,The Real-Time Kernel》书写得很成功,在二十世纪90年代,使用μC/OS的工程师越来越多。开发者很容易就可以把操作系统移植到新的硬件平台上,开发了无数基于μC/OS的应用……

摘要:在讨论开源的嵌入式操作系统(简称嵌入式OS)之前,我们先把开源软件搞清楚。“开源软件”目前并没有明确定义,也没有标准许可证。许多公司采用开放源代码一词,大概有这样两种情况……

系列之七:风河-嵌入式OS的常青树

摘要:风河公司(Wind River System)是一家专业从事嵌入式OS、软件开发工具、解决方案平台和服务的软件公司,由Jerry Fiddle和David Wilner在1981年美国加州创立。VxWorks是风河公司推出的实时多任务操作系统(RTOS)……

系列之八:手机中的嵌入式OS(一)

摘要:手机属于嵌入式设备,手机软件平台使用的操作系统属于嵌入式OS的范畴。传统的功能手机(Feature Phone)使用了实时多任务操作系统(RTOS)为基础的手机软件平台。入门级的智能手机采用了半开放的嵌入式OS(比如Symbian),而今天高端的智能手机多采用Android和IOS这样的通用型的OS……

系列之九:手机中的嵌入式OS(二)

摘要:为你介绍那些开源的操作系统,Android以及它的竞争对手们的整个OS产业生态……

系列之十:汽车电子-嵌入式OS逐鹿的新战场

摘要:根据IEEE 2009年2月的报告,豪华级别的汽车的软件代码长度将超过1亿行,如此巨大的代码量不使用嵌入式操作系统(以下简称嵌入式OS)和软件平台架构是不可想象的,以此联动产生的软件研发、测试和维护成本也是巨大的,带给汽车的安全性和可靠性隐患更是无法预估的。由此也成为嵌入式Os逐鹿的新战场……

系列之十二:嵌入式OS的未来

摘要:嵌入式OS发展到今天已经有30多年历史了,未来的嵌入式OS 会是什么样的?技术会有哪些变化?商业还会蓬勃发展,还是逐渐消亡呢?笔者在撰写《嵌入式操作系统史话》专栏期间,恰逢美国的CES2014,我参观了LG,三星、SONY,奥迪等大企业展位,看到Intel、恩智浦和TI等半导体公司最新芯片解决方案,了解到国外嵌入式OS最新发展的一些情况……

 

原创声明:与非网原创内容,未经授权禁止转载。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

嵌入式OS的红花绿叶-嵌入式系统-与非网
关注我们
与非网公众号
与非网技术交流群