揭开嵌入式Linux的新篇章x

2013-04-08 01:46游建
数字通信世界 2013年1期
关键词:开发人员开源应用程序

作为灵活多变且经济高效的解决方案,嵌入式Linux展现了巨大的价值,并广泛应用于消费电子设备、网络设备、零售点和行业应用程序。然而,广泛的应用也意味着多样化的业务需求,嵌入式解决方案开发人员必须构建定制Linux版本来满足其特定需求。这导致了嵌入式Linux市场的乱象,一直以来,开发人员不得不向各家芯片制造厂商寻求主板支持包(BSP)和工具。而且这些部件往往是基于不同制式开发的,这无异于雪上加霜。虽然市面上有数百种可用的嵌入式Linux发行版,但每个版本都是高度定制的,这导致了大量的重复工作,很多开发人员创建了大同小异的Linux版本,再基于其开发自己的增值特性和功能。

自由修改Linux来创建定制版本是一把双刃剑,一方面证明了开源软件的巨大价值,另一方面也是导致复杂性的根源。创建定制版本在开发、集成、测试和验证方面要承担巨大的开销。由于大多数解决方案开发人员所创造的增值效应并不会很快显现,因而这些工作的“性价比”往往并不高。BSP集成通常也比较复杂和困难,这也显著增加了项目的成本和风险。鉴于此,开放源代码运动的精英们意识到了统一化、一致化对于Linux性命攸关,他们聚集起来,启动了Yocto Project计划,开始为开源社区培植变革的火种。

Yocto Project通过一个开源协作项目解决了这些难题,它提供了一整套模板、工具和方法以简化定制Linux开发。这个开源项目得到了来自商业和开源生态系统的广泛参与和支持,包括各大芯片厂商、主流操作系统供应商和独立顾问。Yocto项目鼓励跨各种应用程序和设备类型的创新,支持多种硬件架构,包括x86(32位和64位),ARM,PPC和MIPS。随着硬件BSP支持的增加和BSP格式的标准化,这个项目创造了巨大的价值。作为Yocto Project的创始成员之一,英特尔在Linux Foundation的协调下,与各个社区共同致力于为嵌入式开发人员创建一个共享的开发环境,并提供了模板、工具和一流实践,以简化定制的嵌入式Linux应用程序的开发。通过提供的关键技术,Yocto Project与英特尔架构之间实现完美的协同增效。

Yocto Project为嵌入式开发人员提供资源,项目采用了OpenEmbedded-Core作为其上游发布版本。项目拥有一个积极的社区,不断完善、测试和更新Yocto Project内核和其他组件。项目站点提供了全面的文档,构建系统(基于OpenEmbedded架构)、交叉构建工具、通用的打包系统和一个应用程序开发人员SDK。Yocto Project提供的核心组件包括:

⊙ x-Architecture。Yocto Project扩展了构建系统的功能,为Yocto Project内核和三个构建配置文件(最小构建、sato构建和LSB构建)提供了最新的经过全面测试的元数据。

⊙ BSP。项目包含大量经过测试的BSP,大大提高了在硬件和架构之间的可移植性,此外还提供了源代码方案及生成的Yocto Project参考运行时映像。

⊙ SDK。Yocto Project工具可以利用Eclipse和Anjuta插件自动创建一个SDK或应用程序开发人员工具包,SDK可用于开发应用程序,适用于和特定的定制运行时映像一起使用。

Yocto Project为解决嵌入式Linux开发乱象迈出了一大步。芯片、操作系统和设备厂商之间的协作和战略规划有助于实现广泛而一致的行业支持。因此,操作系统厂商可以基于Yocto Project内核来开发商业操作系统和其他产品,而且芯片厂商也可以提供硬件BSP。总之,该项目为整个生态系统提供了以下获益:

⊙ 健壮的构建系统。Yocto Project支持从其他常用构建系统轻松迁移到Yocto Project的经过事实验证的环境,而且新的软件版本更新也十分容易。

⊙ 灵活的定制能力。开发人员可以自由选择资源的使用,或者完善特定的组件(包括这些组件的特定版本)。

⊙ 可简单地向商业操作系统迁移。Yocto Project的设计允许用户使用自主开发的操作系统或商业操作系统,在迁移时不会丢失优化或功能。此外,商业操作系统也可以使用Yocto Project作为上游资源,从而确保最大化代码重用。

Yocto Project赋予开发人员一个极高的起点,帮助他们避免重复工作以及不必要的维护。事实上,Yocto Project是全球最大的开源项目之一,以此为基础而开发的通用创建系统,可帮助开发人员避免从零开始,转而把时间和资源集中于开发差异化Linux设备,从而提高投资回报率。■

(文/游建)

猜你喜欢
开发人员开源应用程序
删除Win10中自带的应用程序
五毛钱能买多少头牛
Semtech发布LoRa Basics 以加速物联网应用
谷歌禁止加密货币应用程序
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
开源计算机辅助翻译工具研究
后悔了?教你隐藏开发人员选项
三星电子将开设应用程序下载商店
三星SMI扩展Java论坛 开发人员可用母语