介紹
在 DesignLinx 硬件解決方案公司,我們使用 PetaLinux 構(gòu)建定制 Linux 鏡像,為客戶(hù)的定制產(chǎn)品提供支持。不得不承認(rèn),初一聽(tīng)聞 PetaLinux 時(shí)我是心存質(zhì)疑的。我的職業(yè)背景是嵌入式 Linux,曾從事過(guò)大量項(xiàng)目,包括純 Yocto/Bitbake/OE,以及在不同的 SoC 平臺(tái)上集成 Linux。Yocto 是構(gòu)建定制化嵌入式 Linux 發(fā)行版的實(shí)用方式。從可由源文件構(gòu)建任意內(nèi)容的特性到極富擴(kuò)展性的接口,Yocto 允許用戶(hù)針對(duì)自身產(chǎn)品構(gòu)建定制化 Linux 發(fā)行版。
問(wèn)題在于,Yocto 的使用難度較大。由于學(xué)習(xí)難度較高,采用 Yocto 開(kāi)發(fā)將是一個(gè)艱深甚至是痛苦的過(guò)程。此外,如果沒(méi)有快速構(gòu)建設(shè)備,構(gòu)建一個(gè)完整的鏡像可能需要花費(fèi)數(shù)個(gè)小時(shí)(取決于封裝包的數(shù)量)。而當(dāng)我終于首次開(kāi)始嘗試使用 PetaLinux 的時(shí)候,我感到十分驚訝:
因?yàn)?PetaLinux 擁有許多堪與 Yocto 媲美的優(yōu)勢(shì),但學(xué)習(xí)過(guò)程卻簡(jiǎn)單方便,且構(gòu)建時(shí)間更短。
轉(zhuǎn)粉 PetaLinux 的三大理由
PetaLinux 是一套直接構(gòu)建在 Yocto 項(xiàng)目頂層的定制工具,用于實(shí)現(xiàn)與賽靈思平臺(tái)的集成。因此,在某種意義上 PetaLinux 仍屬于 Yocto。但賽靈思更進(jìn)一步,通過(guò)提供一套額外的工具,簡(jiǎn)化了開(kāi)發(fā)流程,使新手使用起來(lái)及其方便,在這方面網(wǎng)上已有大量的指南,本文我將不再深入復(fù)述一些具體細(xì)節(jié),而是想借此機(jī)會(huì),跟大家分享一下使用這款賽靈思工具為我?guī)?lái)三大關(guān)鍵優(yōu)勢(shì)。
01
便于入門(mén)
正如前文所說(shuō),使用 PetaLinux 構(gòu)建鏡像非常方便。只需安裝 PetaLinux 工具,您就可能在一小時(shí)之內(nèi)完成鏡像構(gòu)建并啟動(dòng)鏡像。在后臺(tái),它仍然使用 Yocto,所以在定制開(kāi)發(fā)方面我們?nèi)匀挥泻艽蟮撵`活性,例如在項(xiàng)目創(chuàng)建過(guò)程中,PetaLinux 實(shí)際上是使用 Bitbake“配方”為您創(chuàng)建了一個(gè) Yocto 層。雖然 PetaLinux 提供了創(chuàng)建簡(jiǎn)單“配方”的機(jī)制,但對(duì)于較高級(jí)的用戶(hù)來(lái)說(shuō),還可以手動(dòng)定制“配方”來(lái)實(shí)現(xiàn)非標(biāo)配功能。
02
加快構(gòu)建時(shí)間
當(dāng)我構(gòu)建首個(gè) PetaLinux 鏡像時(shí),我驚訝地發(fā)現(xiàn)根本不需要幾個(gè)小時(shí),而是只要幾分鐘。構(gòu)建時(shí)間可能會(huì)隨機(jī)器性能和互聯(lián)網(wǎng)連接性能而有所改變,對(duì)此我將進(jìn)行比較。我們公司有一臺(tái)非常高端的構(gòu)建服務(wù)器,我們將它用于 FPGA 綜合、仿真等用途以及軟件搭建。“Poky”鏡像“core-image-minimal”的純 Yocto 構(gòu)建用時(shí)大約為 30 分鐘(含下載),用于 ZCU104 板的 PetaLinxu 鏡像僅用時(shí) 10 分鐘。雖然這種比較不能算是直觀(guān)準(zhǔn)確的比較,core-image-minimal 也算一種相當(dāng)緊湊的鏡像,但它的用時(shí)顯然更長(zhǎng)。
我不禁在想:“他們是如何做到的?肯定是用了緩存 SSTATE 和下載。”顯而易見(jiàn),這正是他們采取的方法。如果您不知道 SSTATE 緩存,這是它的介紹:SSTATE 緩存是一種 Yocto 已構(gòu)建“配方”的緩存,可以用在未來(lái)的構(gòu)建工作中,幫助加快構(gòu)建速度。此外,如果外部源頭的“配方”下載也建立了緩存,構(gòu)建時(shí)就無(wú)需重新下載。賽靈思就是這樣做的,其在 PetaLinux 工具安裝包中同時(shí)提供了這兩項(xiàng)功能,這樣用戶(hù)就能重復(fù)使用通用組件,只需要重新構(gòu)建真正不同的組件,從而顯著加快了構(gòu)建速度。
PetaLinux 安裝包中的部分緩存下載
PetaLinux 安裝包中的 SSTATE 緩存目錄
PetaLinux 安裝包中用于 aarch64 的 Yocto 層
03
自持性以及可輕松實(shí)現(xiàn) Git 集成
賽靈思預(yù)先添加了 Git 集成功能。使用 .gitignore 文件能夠自動(dòng)完成新項(xiàng)目的設(shè)置工作,以忽略不應(yīng)屬于版本控制的任何內(nèi)容(構(gòu)建工件等)。另外,由于PetaLinux 安裝所需的大多數(shù)外部 Yocto 層都留存在 PetaLinux 安裝包內(nèi)部,這些項(xiàng)目都具有自持性,而您的整個(gè)項(xiàng)目的應(yīng)用、驅(qū)動(dòng)程序、器件樹(shù)定制等都能夠保留在單個(gè)項(xiàng)目/庫(kù)內(nèi)。
結(jié) 論
總之,使用 PetaLinux 的理由眾多,我就不一一盡述了。所以,我不得不說(shuō),即使是 Yocto 的資深用戶(hù),我也鼓勵(lì)您更深入地去了解 PetaLinux 工具。因?yàn)?PetaLinux 最終將為您節(jié)省大量時(shí)間,讓您能夠騰出更多時(shí)間用來(lái)編寫(xiě)軟件,而不是學(xué)習(xí) Yocto 的使用方法。
-
賽靈思
+關(guān)注
關(guān)注
32文章
1794瀏覽量
131410 -
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11181瀏覽量
103597
原文標(biāo)題:真香!Yocto 鐵桿用戶(hù)轉(zhuǎn)粉 PetaLinux 的三大理由
文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開(kāi)發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
賽靈思低溫失效的原因,有沒(méi)有別的方法或者一些見(jiàn)解?
鴻道Intewell工業(yè)操作系統(tǒng),三大關(guān)鍵技術(shù),領(lǐng)跑行業(yè)前沿
易靈思FPGA產(chǎn)品的主要特點(diǎn)
![易<b class='flag-5'>靈</b><b class='flag-5'>思</b>FPGA產(chǎn)品的主要特點(diǎn)](https://file1.elecfans.com/web3/M00/01/06/wKgZO2dP9Z2AG6ZuAAAhF7nXGIY235.png)
精準(zhǔn)選型,高效設(shè)計(jì) —— 賽盛LC濾波工具介紹
![精準(zhǔn)選型,高效設(shè)計(jì) —— <b class='flag-5'>賽</b>盛LC濾波<b class='flag-5'>工具</b>介紹](https://file.elecfans.com/web2/M00/02/C4/pYYBAGDSzfeAP86XAAAO5PbqJbI698.png)
思爾芯賽題正式發(fā)布,邀你共戰(zhàn)EDA精英挑戰(zhàn)賽!
![<b class='flag-5'>思</b>爾芯<b class='flag-5'>賽</b>題正式發(fā)布,邀你共戰(zhàn)EDA精英挑戰(zhàn)<b class='flag-5'>賽</b>!](https://file.elecfans.com/web2/M00/4B/6A/pYYBAGKoTXWAFdqwAAAWmg44LUs841.png)
中國(guó)信通院發(fā)布“2024云計(jì)算十大關(guān)鍵詞”
![中國(guó)信通院發(fā)布“2024云計(jì)算十<b class='flag-5'>大關(guān)鍵</b>詞”](https://file.elecfans.com/web2/M00/4E/DC/poYBAGLCjeiALm_WAAAYmfR7Qec474.png)
賽思快訊 | 發(fā)展新質(zhì)生產(chǎn)力問(wèn)道賽思?賽思如何下好“創(chuàng)新棋”?
![<b class='flag-5'>賽</b><b class='flag-5'>思</b>快訊 | 發(fā)展新質(zhì)生產(chǎn)力問(wèn)道<b class='flag-5'>賽</b><b class='flag-5'>思</b>?<b class='flag-5'>賽</b><b class='flag-5'>思</b>如何下好“創(chuàng)新棋”?](https://file1.elecfans.com/web2/M00/FB/57/wKgZomaQv6GAeOWfAADChNEFbAw230.png)
安賽思半導(dǎo)體和三福半導(dǎo)體簽署戰(zhàn)略合作協(xié)議
安賽思半導(dǎo)體與新加坡三福半導(dǎo)體達(dá)成戰(zhàn)略合作
賽思快訊 | 熱烈歡迎嘉興市政協(xié)一行領(lǐng)導(dǎo)蒞臨賽思總部調(diào)研指導(dǎo)工作!
![<b class='flag-5'>賽</b><b class='flag-5'>思</b>快訊 | 熱烈歡迎嘉興市政協(xié)一行領(lǐng)導(dǎo)蒞臨<b class='flag-5'>賽</b><b class='flag-5'>思</b>總部調(diào)研指導(dǎo)工作!](https://file1.elecfans.com/web2/M00/E6/5F/wKgZomZG6aOATA33AADrJGPYih4229.png)
一款專(zhuān)業(yè)級(jí)別的靈卡技術(shù)紅外機(jī)芯——LC221詳解
![一款專(zhuān)業(yè)級(jí)別的<b class='flag-5'>靈</b>卡技術(shù)紅外機(jī)芯——LC221詳解](https://file1.elecfans.com/web2/M00/E4/BA/wKgaomY9gAqAGlxSABob2e6Uv6U862.png)
工業(yè)電腦選擇組件的十大關(guān)鍵因素
![工業(yè)電腦選擇組件的十<b class='flag-5'>大關(guān)鍵</b>因素](https://file1.elecfans.com/web2/M00/C7/1A/wKgaomYGPTuASmCnAACypRr7zA4114.png)
MES系統(tǒng)實(shí)施的幾大關(guān)鍵步驟
賽思快訊 | 熱烈歡迎嘉興市人民政府咨詢(xún)委員會(huì)蒞臨賽思總部調(diào)研!
![<b class='flag-5'>賽</b><b class='flag-5'>思</b>快訊 | 熱烈歡迎嘉興市人民政府咨詢(xún)委員會(huì)蒞臨<b class='flag-5'>賽</b><b class='flag-5'>思</b>總部調(diào)研!](https://file1.elecfans.com/web2/M00/C0/B0/wKgaomXAR4-ASNDaAADhUZ50W2Y220.png)
評(píng)論