为什么要使用yocto
作为灵活多变且经济高效的解决方案,嵌入式 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的更多相关文章
- yocto系统介绍
The Yocto Project is an open source collaboration project that provides templates, tools and methods ...
- Yocto开发笔记之《错误记录》(QQ交流群:519230208)
QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ============================================== 提问: 1. 怎样修改linu ...
- Yocto开发笔记之《驱动调试-华为3G模块》(QQ交流群:519230208)
QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================================== 参考:ht ...
- Yocto开发笔记之《应用程序架构》(QQ交流群:519230208)
QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================================== Eclip ...
- Yocto开发笔记之《快速入门,环境搭建 & 编译》(QQ交流群:519230208)
开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处. QQ群:,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================== ...
- Yocto 包管理 apt-get
/******************************************************************** * Yocto 包管理 apt-get * 说明: * 查一 ...
- [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 ...
- 通过yocto给p1010rdb定制linux,并启动linux
一.通过yocto定制linux 1.安装yocto yocto只能在非root用户下编译,所以先新建一个用户. useradd chen passwd -d chen 重启电脑进入chen用户. ...
- Yocto和Android编译命令的简化和自动完成的实现
简化编译命令 无论是在Android编译系统中,还是在Yocto编译系统中,要编译一个目标,输入命令都有点费事. Yocto系统: source setup-environment $FOLDER b ...
- yocto doc
Yocto Project Overview and Concepts Manual https://www.yoctoproject.org/docs/2.6.1/overview-manual/o ...
随机推荐
- abap函数返回结构体类型
1: 定义一个结构体 T-CODE se11 2: 选择 structure 3:输入相应的字段 4:激活 5:创建一个function module zfm_return_table,返回类型为 ...
- 在Java应用中通过SparkLauncher启动Spark任务
本博客内容基于Spark2.2版本,在阅读文章并想实际操作前,请确保你有: 一台配置好Spark和yarn的服务器 支持正常spark-submit --master yarn xxxx的任务提交 老 ...
- Java Selenium - 处理页面弹出窗
1. 得到当前窗口句柄 2. 得到所有窗口句柄 3. 循环找到目标窗口 String currentWindow = driver.getWindowHandle(); Set<String&g ...
- Please add or free up more resources then turn off safe mode manually.
解决方案:硬盘满了,释放硬盘空间.
- Xgboost调参总结
一.参数速查 参数分为三类: 通用参数:宏观函数控制. Booster参数:控制每一步的booster(tree/regression). 学习目标参数:控制训练目标的表现. 二.回归 from xg ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统--系统权限及操作指引
系列目录 1.权限包括菜单权限,按钮权限,数据权限 2.角色组和用户之间是多对多的关系,即多个用户可以拥有多个角色组,权限是拥有角色组的并集 1.菜单界面,菜单都是动态数据由模块管理进行设置 2.权限 ...
- C++二进制字符串转Base64字符串 Base64字符串转二进制字符串
封装成类的 . base64格式的字符串,只包含大小写字母.零到九,以及 + / //___base_64.h /*base_64.h文件*/ #ifndef BASE_64_H #define BA ...
- LA 2218 Triathlon(半平面交)
Triathlon [题目链接]Triathlon [题目类型]半平面交 &题解: 做了2道了,感觉好像套路,都是二分答案,判断半平面交是否为空. 还有刘汝佳的代码总是写const +& ...
- mysql----------阿里云RDS导入导出
1.这是阿里云rds如何将导出的物理备份文件,导入到自建库里面: https://help.aliyun.com/knowledge_detail/5973700.html?spm=5176.7766 ...
- Unity shader学习之Grab Pass实现玻璃效果
GrabPass可将当前屏幕的图像绘制在一张纹理中,可用来实现玻璃效果. 转载请注明出处:http://www.cnblogs.com/jietian331/p/7201324.html shader ...