<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Yocto Project的嵌入式應(yīng)用設(shè)計

          基于Yocto Project的嵌入式應(yīng)用設(shè)計

          作者: 時間:2013-07-22 來源:網(wǎng)絡(luò) 收藏

          摘要:是一個開源項目,可以在任意硬件上(如x86、x86-64、ARM、PPC、MIPS)為任意嵌入式設(shè)備構(gòu)建自定義嵌入式應(yīng)用所需的模板、工具和資源,極大地簡化了開發(fā)過程。本設(shè)計主要基于在嵌入式設(shè)備上輕松定制嵌入式應(yīng)用,并實現(xiàn)的定制過程。
          關(guān)鍵詞:;Yocto Project;

          引言
          Linux作為嵌入式系統(tǒng)的主要工具,具有源代碼開放、完全可定制、支持許多網(wǎng)絡(luò)協(xié)議、服務(wù)器級別高、可靠性高等很多優(yōu)點。但現(xiàn)有的嵌入式Linux市場開始分化,現(xiàn)有的選擇包括半導體廠商提供的實例方案、嵌入式OSV提供商應(yīng)用的嵌入式Linux產(chǎn)品、嵌入式產(chǎn)品開發(fā)商的自有方案和開源項目等。由于缺乏一致性,造成了嵌入式開發(fā)高昂的維護成本,不僅嵌入式開發(fā)缺乏足夠的專業(yè)人員,而且開發(fā)過程存在安全漏洞問題。在Yocto Project項目中,可以使用許多高效的工具,從而輕松定制嵌入式Linux產(chǎn)品。

          1 YoCto Proiect的原理和架構(gòu)
          Yocto Project是一個開源項目,由Linux Foundation主導并被嵌入式業(yè)界領(lǐng)導者所支持。Yocto Project與OpenEmbedded兼容,后者包括了許多開源項目的構(gòu)建方法,可以作為Yocto Project的有效補充。Yocto Project提供基于社區(qū)測試的支持多種架構(gòu)的鏡像。Yocto Project的優(yōu)點如下:具有高質(zhì)量的構(gòu)建系統(tǒng),平等地支持所有主流的嵌入式架構(gòu)(ARM、Power PC、MIPS、x86(32&64位)),緊密跟蹤許多上游開源項目的最新發(fā)布版本,具有統(tǒng)一的Linux BSP格式和應(yīng)用程序開發(fā)套件,還可輕松地實現(xiàn)從原型切換到商用嵌入式Linux產(chǎn)品。
          Yocto Project架構(gòu)中用戶自定義層由用戶根據(jù)需求定制,包括定制層、BSP(Board Support Package)層、特性層和核心元數(shù)據(jù)(CoreRe cipe)層。上層開源組建最常用的命令為BusyBox和Eglibc等。架構(gòu)中應(yīng)用的開發(fā)套件,由Poky構(gòu)建系統(tǒng)生成交叉工具鏈,使用ADT installer來定制交叉開發(fā)環(huán)境,可以支持在目標系統(tǒng)和sysroot上的包管理架構(gòu),包括Eclipse/Anjuta集成開發(fā)環(huán)境的插件、調(diào)用安裝好的交叉工具鏈,以及模板和調(diào)試工具。元數(shù)據(jù)準備好了由元工具(bitbake)解析、執(zhí)行。元工具抽象構(gòu)建一個軟件過程中的fetch、unpack、patch、configu re、cornpile、packagc等任務(wù);同時,元工具還負責按不同軟件之間的依賴關(guān)系有序地執(zhí)行編譯。編譯成功后,用戶自定義的Yocto鏡像就可以在嵌入式設(shè)備上使用。Yoto Project架構(gòu)圖如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/147998.htm

          a.JPG



          2 構(gòu)建嵌入式系統(tǒng)
          構(gòu)建嵌入式系統(tǒng)是一個嵌入式Linux項目的核心,構(gòu)建系統(tǒng)需要定義一組語義讓開發(fā)者可以描述一個特定的構(gòu)建任務(wù),嵌入式系統(tǒng)負責交叉編譯一個項目的整個過程,包括下載源代碼、打上特定的補丁、配置、編譯、安裝,并將安裝結(jié)果按指定格式打包。構(gòu)建的嵌入式系統(tǒng)還要并發(fā)調(diào)度多個構(gòu)建任務(wù)。好的構(gòu)建系統(tǒng)決定了一個嵌入式Linux開發(fā)環(huán)境的效率和友好度。Yocto內(nèi)核使用GIT進行源代碼管理,內(nèi)核功能被組織成小的集合,方便深入定制化并支持多種內(nèi)核開發(fā)流程和管理技術(shù)。所使用的應(yīng)用開發(fā)套件是由Poky構(gòu)建系統(tǒng)生成的交叉工具鏈,使用ADT installer來定制交叉開發(fā)環(huán)境,支持在目標系統(tǒng)和sysroot上的包管理架構(gòu),包括RPM、DEB、IPK,支持Eclipse/Anjuta集成開發(fā)環(huán)境的插件,而且還可以使用Qemu作為模擬器,模擬器支持基于OpenGL的應(yīng)用開發(fā)(QemuGL加速)。
          (1)元數(shù)據(jù)Recipe
          一份Recipe包括了一組元數(shù)據(jù),而這些元數(shù)據(jù)則定義了與一個項目相關(guān)的構(gòu)建信息:源代碼的地址,項目相關(guān)的特定配置參數(shù),如何編譯、安裝和打包數(shù)據(jù)。豐富的類文件有助于最大程度地重用元數(shù)據(jù),由Profile決定選擇哪些Recipe。Yocto Project包括了一些事例Profi le,一份完整工作的Recipe可能只需要3行元數(shù)據(jù)。
          (2)元數(shù)據(jù)層
          元數(shù)據(jù)可以相互層疊,以很低的維護成本來進行深層次的定制化,同時還可以增加新的項目,調(diào)整架構(gòu)相關(guān)的編譯標志,覆蓋某個項目特定的配置選項。
          開發(fā)者提供元數(shù)據(jù)(食譜或菜譜),食譜是由一種標記性的語言所寫,由元工具(bitbake)解析、執(zhí)行。每份食譜都是描述某個軟件的“清單”,例如:源代碼從哪里下載,需要哪些補丁文件,可能需要哪些特殊編譯鏈接選項,打包時需要的特殊配置,依賴哪些其他軟件等相關(guān)信息。元工具則抽象了構(gòu)建一個軟件過程中的fetch、unpack、patch、configure、compile、package等任務(wù);同時,元工具還負責按不同軟件之間的依賴關(guān)系有序地執(zhí)行編譯。

          3 智能車載系統(tǒng)硬件設(shè)計
          隨著汽車電子的發(fā)展,智能車載系統(tǒng)越來越受到關(guān)注,智能車載系統(tǒng)通過信息的傳遞為車輛提供出行指引、安防、救援、遠程故障診斷等服務(wù)。遠程信息服務(wù)(Telematics)即通信網(wǎng)絡(luò)為安裝在車上的資訊系統(tǒng)平臺提供的多樣化的信息服務(wù)。TelematicS系統(tǒng)可分為車前座系統(tǒng)、車后座系統(tǒng),以及車況診斷系統(tǒng)。
          其中,車前座系統(tǒng)提供的服務(wù)包括通信、導航、行車安全監(jiān)視、聯(lián)網(wǎng)資訊、路況、天氣等;車后座系統(tǒng)的服務(wù)包括在線下載影音資訊、在線網(wǎng)絡(luò)游戲等;車況診斷系統(tǒng)的服務(wù)包括保養(yǎng)通知、車況預警等。目前,在車載智能系統(tǒng)中有日產(chǎn)的Carwings、通用公司的Onstar、豐田公司的G-BOOK、一汽奔騰公司的D-Partner以及榮威公司的inKanet等。其中,OnStar是以安防為主的Telematics服務(wù),G—Book是以資訊及娛樂為主的Telematics服務(wù)。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          萬能遙控器相關(guān)文章:萬能遙控器代碼


          linux相關(guān)文章:linux教程



          上一頁 1 2 下一頁

          關(guān)鍵詞: Linux Yocto Project 定制系統(tǒng)

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();