嵌入式系统开源软件的回顾和展望
扫描二维码
随时随地手机看文章
回顾过去20年嵌入式系统在国内各行各业蓬勃发展,其中有两项重要技术对此贡献很大:一是ARM,二是开源软件,尤其是Linux和与Linux相关的开源软件。对于ARM,今天业内热议的ARM上网本现在看只是_二个桥头堡。进攻胜利了,ARM即刻大举占领利润丰厚的PC市场,退一步也可以保住自己的移动终端和已经牢牢把握的嵌入式市场。ARM要想成功,必然要仰仗开源软件;指望微软是不行的,微软有太多的历史包袱和既得利益,在windows 7是否支持ARM架构这件事情上一直摇摆不定。另一方面,Linux在经历了漫长和痛苦的桌面市场的博弈之后,发现了移动计算这片领域,开始是智能手机、MID,到现在的上网本(netbook),还有未来的智能本(一种称为smartbook,尺寸更小、更轻便的上网本)。开源软件也在慢慢地向嵌入式系统靠拢。在国内,嵌入式系统行业已经形成了ARM+Linux的模式。
1 嵌入式系统的开源软件之势不减
最近发生的两件事情都进一步说明了嵌入式系统开源软件之势不减。
一是MIPS定制Android平台。谷歌的Android在手机上获得各产品方面的广泛认可,HTC、摩托罗拉、三星和联想的多款产品已经面世,中国移动也高调支持An-droid,更多的手机正在开发之中。作为开源平台,Android不仅可以用在手机上,日本有公司已经把它移植在DTV、数码相框、PMP等消费电子产品上。但是无论如何,谷歌依然无法满足每个特定的嵌入式应用的个性化需求。以MIPS为主导的OESF(开放的嵌入式软件基金会)应运而生。OESF的目标是推动Android平台在非手机领域的发展。这是一件众望所归的好事情,也说明嵌入式系统行业对有影响力的开源平台的迫切需求。
第二件事情是传统的嵌入式软件公司Mentor Graph-ic收购了Embedded Alley。Embedded Alley是一家以Montavista(著名的嵌入式Linux公司)前雇员为核心的嵌入式Linux服务商。Mentor明确表示收购的目的就是为了拥有Android平台提供服务的能力。背后原因有两个:一是Embedded Alley是OESF联盟的重要合作伙伴,已经成功为RMI的MIPS芯片提供了Android服务,继承了美国东部企业的务实特色,是一家实干的服务商;二是Mentor传统的私有RTOS Nucleus是目前手机基带芯片的主要OS,但是在增长快速的智能手机上却毫无建树,借助Android或许可以帮助Mentor重返手机OS的市场。嵌入式系统无论是芯片、软件和产品应用都在逐渐走向开源,开源之势汹涌澎湃不可阻挡。
2 移动互联产品是开源软件重要机缘
移动互联产品是开源软件在嵌入式系统发展的重要机会,这一点不仅嵌入式行业看到了,IT产业也看到了。原ARM中国公司总裁谭军博士近期指出,开源软件是下一代差异化计算平台的理想选择,芯片之争、操作系统之争的实质是看谁的生态环境建立得好,开源软件在移动互联网有着无比丰富的生态环境。Linux基金会执行总监Jim先生在北京2009开源世界峰会上指出,PC经济正在发生变化,而Linux是未来把握利润的车票。Jim解释,以前单一的PC计算正在向以智能手机、MID、上网本和未来的各类云终端发展,而Linux是唯一开放的、可嵌入到其中的平台。[!--empirenews.page--]
这里再举个一个例子,目前已经交由Linux基金会维护的英特尔Moblin社区非常活跃。Moblin是专门针对MID的操作系统,最新推出的2.0版本有下面的特点和变化:
第一,电源管理部分针对MID和Notebook做了优化,使电池续航能力得到延长。网络功能作了进一步扩展,针对MID、Notebook和车载移动设备所需的网络连通性能进行了扩展,考虑到能够支持最新的3G技术。
第二,应用程序框架重新设计。Moblin 2.0核心模块放弃了前一版本所使用的Hildon应用程序框架,主屏幕设计和应用程序图形界面设计有了更大的灵活性,可以以Flash AIR平台为基础设计用户界面,也可以直接以HT-ML文件作为操作系统主屏幕或者应用程序图形界面,也可以采用GTK/Clutter这个支持2D/3D动画的UI库来设计应用程序的图形界面。
第三,2.0版本开发工具更加便利。创建MID和Notebook等多种平台上的Moblin影像的工具MIC,能够在USB驱动器、光盘等设备中创建带有平台特定的、完整的目标文件系统的影像。Moblin 2.0的架构如图1所示。
英特尔作为一家芯片公司,花了这样大的力量和金钱投资开放软件平台,为了什么呢,就是为了在未来移动互联网世界里掌握更多话语权,因为Wintel架构将不再是这个世界唯一的计算平台了。
3 中国嵌入式系统企业应融入开源文化
国际性的嵌入式系统企业对于开源的重视和贡献越来越大,例如,飞思卡尔半导体公司就把嵌入式Linux作为芯片基本OS重点支持和研发,在北京也成立专门的研发团队。包括飞思卡尔、MIPS、瑞萨、博通、ADI和英特尔这些嵌入式半导体公司,以及Montavista软件、思科通信设备公司,他们对Linux内核的贡献是很大的。
联想到国内的情况:一方面以嵌入式Linux为龙头的嵌入式教育和培训热火朝天,学员热情很高,说明企业有需求;另一方面,放眼国内,专业的嵌入式Linux公司越来越少。在2000年初还有几家,如灵思、蓝点,现在除了中科红旗还有定制性的嵌入式Linux产品服务外,几乎没有一家专业的嵌入式Linux软件公司。再有,国内大型的嵌入式设备商们都有相当数量的Linux研发团队,但是纵观国际开源项目,几乎没有他们的身影,甚至连国人的身影都很少。来自Linux社区的信息显示,2.6.13开始华人中有越来越多的人参与到Kernel开发中来,从2.6.13的10人增加到2.6.27的63人,从2.6.13的108个来自华人的patch增加到2.6.28的650个patch。但是总的情况看,华人对Kernel的贡献所占比例还比较小(6%~8%),外企华人的贡献占了多数,本土企业的比重比较小。这不禁让人们想起若干年前,国际Linux社区对于国内某些Linux公司只索取没有奉献的开源之路的指责。如果中国大型嵌入式系统企业不能像欧美日企业那样追随Linux开源文化的精神,我们的嵌入式系统开源之路还将会非常漫长。
4 理解嵌入式系统对开源软件多样性需求
嵌入式系统多学科交叉的特点,决定了嵌入式系统对于嵌入式软件的认识和使用上的多元化现象。比如计算机专业的人员偏好开源的嵌入式Linux OS,电子和自动化专业更加偏于RTOS,比如μC/OS-II(开源,商业使用收费模式)和VxWorks(传统的商业嵌入式操作系统)。开源技术和思想对于嵌入式系统中非计算机科学学科的集成电路设计中的SoC技术已经产生重要影响。目前多数嵌入式系统半导体公司使用Linux作为基础的OS。[!--empirenews.page--]
嵌入式系统是应用差异性很大的系统,比如通信行业,手机、智能手机、移动终端(智能本)、上网本、交换机、移动基站、交换机和电信服务器等等不同的产品,它们虽然是同一个行业,但是各自的体系结构、需求和应用都不一样,更不要说不同的行业,如消费电子、工业控制和航空航天之间更大的差异了。
嵌入式系统计算平台的体系结构也比桌面和服务器复杂且种类繁多(如ARM、PPC、MIPS、X86和许多8/16位MCU),这个特点决定了开源软件在嵌入式系统中也是百花齐放。今天,有各种类似的开源软件,如Ecos、RTEMS,而TinyOS、RTLinux、RTAI等面向实时性、通用性的Linux平台也很多,另外面向移动互联网的Moblin、Android和Ubuntu,及面向嵌入式系统的μC linux、Debian,还有商用公司Montavisa、Timesys、Windriver Linux的开源版本都在嵌入式系统中拥有自己的地位和应用。
5 正视开源软件在嵌入式系统中的局限性
虽然开源之风在嵌入式系统越来越大,但是部分嵌入式软件平台对于开源软件仍持谨慎态度。部分企业经过实践体会到,使用免费开源软件未必能够帮助企业节省成本,购买验证后的商业软件和知识产权却可以帮助企业做大做强。实际上应该纠正“使用Linux就意味省钱”的想法,免费开源软件并不一定比商业软件节省开发和运行成本。一般来讲,成熟的嵌入式软件需要经过至少5年的开发和验证时间,而且需要一个开发和支持团队,这样的模式对于嵌入式软件平台尤为重要。因此,目前包括航空航天、工业控制系统、交通系统、汽车电子、医疗电子(除信息娱乐部分外),采用Linux和其他开源软件都比较少。开源软件在嵌入式系统的应用还应该注意避免走习惯性的单一化模式的思路,应该以应用为导向,以平台为依托,结合自身研发和维护团队的技术特点,联合芯片、合作伙伴和开源社区共同完成一个项目。
6 小 结
嵌入式系统的多样性和广泛性决定了开源软件在其中巨大的生存和发展空间。开源软件的开放性、灵活性、低成本开发和维护模式,可以帮助嵌入式产品解决所面临的市场挑战和创新。开源技术和思想对于嵌入式系统中的各个学科都将产生积极影响。