作为灵活多变且经济高效的解决方案,嵌入式 Linux展现了巨大的价值,并广泛应用于消费电子设备、网络设备、零售点和行业应用程序。然而,广泛的应用也意味着多样化的业务需求,嵌入式解决方案开发人员必须构建定制Linux 版本来满足其特定需求。

本文引用地址:http://www.eepw.com.cn/article/201610/305448.htm

这导致了嵌入式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 的协调下,与各个社区共同致力于为嵌入式开发人员创建一个共享的开发环境,并提供了模板、工具和最佳实践,以简化定制的嵌入式 L i n ux 应用程序的开发。通过提供的关键技术,Yocto Project 与英特尔架构之间实现完美的协同增效。

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带来的优势

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

总之,该项目为整个生态系统提供了以下获益:

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

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

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

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

为什么要使用yocto的更多相关文章

  1. yocto系统介绍

    The Yocto Project is an open source collaboration project that provides templates, tools and methods ...

  2. Yocto开发笔记之《错误记录》(QQ交流群:519230208)

    QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ============================================== 提问: 1. 怎样修改linu ...

  3. Yocto开发笔记之《驱动调试-华为3G模块》(QQ交流群:519230208)

    QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================================== 参考:ht ...

  4. Yocto开发笔记之《应用程序架构》(QQ交流群:519230208)

    QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================================== Eclip ...

  5. Yocto开发笔记之《快速入门,环境搭建 & 编译》(QQ交流群:519230208)

    开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处. QQ群:,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================== ...

  6. Yocto 包管理 apt-get

    /******************************************************************** * Yocto 包管理 apt-get * 说明: * 查一 ...

  7. [Freescale]Freescale L3.14.52_1.1.0 yocto build

    可参照:http://blog.csdn.net/wince_lover/article/details/51456745 1. Refer to <基于i.mx6处理器的Yocto项目及Lin ...

  8. 通过yocto给p1010rdb定制linux,并启动linux

    一.通过yocto定制linux 1.安装yocto yocto只能在非root用户下编译,所以先新建一个用户. useradd chen  passwd -d chen 重启电脑进入chen用户. ...

  9. Yocto和Android编译命令的简化和自动完成的实现

    简化编译命令 无论是在Android编译系统中,还是在Yocto编译系统中,要编译一个目标,输入命令都有点费事. Yocto系统: source setup-environment $FOLDER b ...

  10. yocto doc

    Yocto Project Overview and Concepts Manual https://www.yoctoproject.org/docs/2.6.1/overview-manual/o ...

随机推荐

  1. js中实现IE的打印预览

    HTML中添加:<object id="WebBrowser" classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 widt ...

  2. 论文阅读-使用隐马模型进行NER

    Named Entity Recognition in Biomedical Texts using an HMM Model  2004年,引用79 1.摘要 Although there exis ...

  3. 【LeetCode每天一题】Median of Two Sorted Arrays(两数组中的中位数)

    There are two sorted arrays nums1 and nums2 of size m and n respectively.  Find the median of the tw ...

  4. 9个Linux系统常用监控命令

    我们的系统一旦上线跑起来我们自然希望它一直相安无事,不要宕机,不要无响应,不要慢腾腾的.但是这不是打开机器电源然后放任不管就可以得到的.所以我们要监视系统的运行状况,发现问题及时处理. 对于系统和网络 ...

  5. CentOS6.5 安装openssl

    安装比较简单! 1.下载安装包 [root@mycentos ~]# wget http://www.openssl.org/source/openssl-1.0.2f.tar.gz 2.解压和编译 ...

  6. AIX挂载NFS写入效率低效解决

    背景: Linux是NFS的Server端,AIX是NFS的Client端(此外,有一个Linux也作为Client端对比测试). 1.NFS对应的底层设备是闪存卡,本地测试I/O写性能可达2GB/s ...

  7. Python学习笔记之装饰器原理

    def decorator(fn): def wrapper(): print("询价") fn() print("购买成功!") return wrapper ...

  8. ubuntu 安装/卸载nginx及常用命令

    安装命令 sudo apt-get update #更新apt sudo apt-get install nginx #安装nginx 启动/重启/停止命令 一. /etc/init.d/nginx ...

  9. Java集合-----List详解

    List中的元素是有序排列的而且可重复 1.LinkedList LinkedList是非线程安全的,底层是基于双向链表实现的       LinkedList常用方法:     toArray()  ...

  10. Java多线程-----原子变量和CAS算法

       原子变量      原子变量保证了该变量的所有操作都是原子的,不会因为多线程的同时访问而导致脏数据的读取问题      Java给我们提供了以下几种原子类型: AtomicInteger和Ato ...