各個嵌入式開發(fā)團隊出于不同的原因,都希望構(gòu)建適合自己開發(fā)需求的嵌入式系統(tǒng)。Yocto正是這樣一個工具,任何一個廠商都可以根據(jù)Yocto定制自己的系統(tǒng)。
Yocto 是什么
Yocto 是一種傘式項目,側(cè)重于通過開放式嵌入內(nèi)核,打造嵌入式系統(tǒng) Linux 發(fā)行版,而不受硬件架構(gòu)的限制。Yocto 本身并非發(fā)行版,而是幫助您構(gòu)建Linux發(fā)行版的框架。Yocto 已然成為必可不少的首選工具。開發(fā)人員和嵌入式系統(tǒng)制造商可以根據(jù)其自身硬件和軟件限制以及實際應(yīng)用程序,度身打造最適合自己的 Linux 版本。
更重要的是,Yocto 內(nèi)置各種現(xiàn)有工具,擁有大量的開源支持,以靈活多變的特點而聞名。豐富的工具、維護、模板和社區(qū)產(chǎn)品,可以幫助您完成各種無與倫比的特殊構(gòu)建任務(wù)。
Yocto 三大關(guān)鍵組件
?BitBake ——實質(zhì)上就是 Yocto 的構(gòu)建系統(tǒng)引擎。它負(fù)責(zé)創(chuàng)建配方——構(gòu)建特定系統(tǒng)所需的任務(wù)列表——以及解析元數(shù)據(jù)和執(zhí)行配方。
對如何分解并加速BitBake構(gòu)建進程感興趣的開發(fā)者,可預(yù)約Incredibuild最新活動
?OpenEmbedded-Core ——元數(shù)據(jù)。它保存了創(chuàng)建系統(tǒng)所需的基本配方、相關(guān)文件和類。構(gòu)建時設(shè)定為通用,以便適用于各種基于 OpenEmbedded 的系統(tǒng)。
?Poky ——包含一個基于 Linux 的全平臺構(gòu)建工具和各種其他技術(shù),幫助各大團隊以可靠的方式快速地開發(fā)新系統(tǒng)。Poky 基于各種架構(gòu)生成文件系統(tǒng)鏡像。其中的典型示例就是 QEMU全系統(tǒng)仿真,一種極其出色的嵌入式軟件測試平臺。
Yocto 構(gòu)建工作流
Yocto 也支持其他關(guān)鍵組件(例如 QT、Chromium、LLVM 等)內(nèi)置到嵌入式發(fā)行版中,這也是它極受歡迎的原因之一。
為什么選擇 Yocto
盡管 Yocto 操作更復(fù)雜,但它也有很明顯的優(yōu)勢。
用戶群體廣泛,開發(fā)社區(qū)活躍,由Linux基金會出資扶持。
可以實現(xiàn)曾層級,用于各種任務(wù),高度定制化,可添加特殊功能,自定義瀏覽器等。
在同類項目中,可以兼容的設(shè)備最多,可以添加大量的 SDK、工具和功能。
正是有了這些要素,Yocto 實現(xiàn)了高度可定制,同時還擁有強勁的支持,對于希望定制構(gòu)建嵌入式系統(tǒng)的開發(fā)人員來說非常友好。
Yocto的缺點
即便如此,Yocto 也有一些缺點。一方面,入門時的學(xué)習(xí)曲線稍微有點陡峭。對于時間有限的小型單個項目或小型團隊來說,使用這個工具可能意義不大。另一方面,Yocto 的構(gòu)建時間很長。這就降低了迭代頻率,如用在時間緊迫的項目中,效果可能會不太理想,但借助類似 Incredibuild這樣的加速工具可大幅提速開發(fā)進程。
在Yocto體系中BitBake是非要重要的概念,另外由于Yocto項目構(gòu)建且復(fù)雜,如何正確運用sstate緩存尤為重要。Incredibuild旗下技術(shù)社區(qū)IncrediClub將在7月14日發(fā)布嵌入式開發(fā)Yocto專題線上研討會,正在使用Yocto或者計劃使用Yocto的開發(fā)者可以報名參與(技術(shù)分享無收費)
原文標(biāo)題:Yocto,嵌入式開發(fā)者不可不知的強大工具【附資料與活動】
文章出處:【微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3551瀏覽量
129108 -
瀏覽器
+關(guān)注
關(guān)注
1文章
1009瀏覽量
35230 -
yocto
+關(guān)注
關(guān)注
0文章
8瀏覽量
5276
發(fā)布評論請先 登錄
相關(guān)推薦
評論