编程论坛
直播中

刘颖

7年用户 179经验值
私信 关注
[问答]

嵌入式系统开源软件发展现状如何?

嵌入式系统开源软件发展现状如何?

回帖(1)

冯超

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

更多回帖

发帖
×
20
完善资料,
赚取积分