介紹
在 DesignLinx 硬件解決方案公司,我們使用 PetaLinux 構(gòu)建定制 Linux 鏡像,為客戶的定制產(chǎn)品提供支持。不得不承認(rèn),初一聽聞 PetaLinux 時(shí)我是心存質(zhì)疑的。我的職業(yè)背景是嵌入式 Linux,曾從事過大量項(xiàng)目,包括純 Yocto/Bitbake/OE,以及在不同的 SoC 平臺(tái)上集成 Linux。Yocto 是構(gòu)建定制化嵌入式 Linux 發(fā)行版的實(shí)用方式。從可由源文件構(gòu)建任意內(nèi)容的特性到極富擴(kuò)展性的接口,Yocto 允許用戶針對(duì)自身產(chǎn)品構(gòu)建定制化 Linux 發(fā)行版。
問題在于,Yocto 的使用難度較大。由于學(xué)習(xí)難度較高,采用 Yocto 開發(fā)將是一個(gè)艱深甚至是痛苦的過程。此外,如果沒有快速構(gòu)建設(shè)備,構(gòu)建一個(gè)完整的鏡像可能需要花費(fèi)數(shù)個(gè)小時(shí)(取決于封裝包的數(shù)量)。而當(dāng)我終于首次開始嘗試使用 PetaLinux 的時(shí)候,我感到十分驚訝:
因?yàn)?PetaLinux 擁有許多堪與 Yocto 媲美的優(yōu)勢(shì),但學(xué)習(xí)過程卻簡(jiǎn)單方便,且構(gòu)建時(shí)間更短。
轉(zhuǎn)粉 PetaLinux 的三大理由
PetaLinux 是一套直接構(gòu)建在 Yocto 項(xiàng)目頂層的定制工具,用于實(shí)現(xiàn)與賽靈思平臺(tái)的集成。因此,在某種意義上 PetaLinux 仍屬于 Yocto。但賽靈思更進(jìn)一步,通過提供一套額外的工具,簡(jiǎn)化了開發(fā)流程,使新手使用起來及其方便,在這方面網(wǎng)上已有大量的指南,本文我將不再深入復(fù)述一些具體細(xì)節(jié),而是想借此機(jī)會(huì),跟大家分享一下使用這款賽靈思工具為我?guī)砣箨P(guān)鍵優(yōu)勢(shì)。
01
便于入門
正如前文所說,使用 PetaLinux 構(gòu)建鏡像非常方便。只需安裝 PetaLinux 工具,您就可能在一小時(shí)之內(nèi)完成鏡像構(gòu)建并啟動(dòng)鏡像。在后臺(tái),它仍然使用 Yocto,所以在定制開發(fā)方面我們?nèi)匀挥泻艽蟮撵`活性,例如在項(xiàng)目創(chuàng)建過程中,PetaLinux 實(shí)際上是使用 Bitbake“配方”為您創(chuàng)建了一個(gè) Yocto 層。雖然 PetaLinux 提供了創(chuàng)建簡(jiǎn)單“配方”的機(jī)制,但對(duì)于較高級(jí)的用戶來說,還可以手動(dòng)定制“配方”來實(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 分鐘。雖然這種比較不能算是直觀準(zhǔn)確的比較,core-image-minimal 也算一種相當(dāng)緊湊的鏡像,但它的用時(shí)顯然更長。
我不禁在想:“他們是如何做到的?肯定是用了緩存 SSTATE 和下載。”顯而易見,這正是他們采取的方法。如果您不知道 SSTATE 緩存,這是它的介紹:SSTATE 緩存是一種 Yocto 已構(gòu)建“配方”的緩存,可以用在未來的構(gòu)建工作中,幫助加快構(gòu)建速度。此外,如果外部源頭的“配方”下載也建立了緩存,構(gòu)建時(shí)就無需重新下載。賽靈思就是這樣做的,其在 PetaLinux 工具安裝包中同時(shí)提供了這兩項(xiàng)功能,這樣用戶就能重復(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)程序、器件樹定制等都能夠保留在單個(gè)項(xiàng)目/庫內(nèi)。
結(jié) 論
總之,使用 PetaLinux 的理由眾多,我就不一一盡述了。所以,我不得不說,即使是 Yocto 的資深用戶,我也鼓勵(lì)您更深入地去了解 PetaLinux 工具。因?yàn)?PetaLinux 最終將為您節(jié)省大量時(shí)間,讓您能夠騰出更多時(shí)間用來編寫軟件,而不是學(xué)習(xí) Yocto 的使用方法。
-
賽靈思
+關(guān)注
關(guān)注
33文章
1795瀏覽量
132122 -
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11232瀏覽量
105588
原文標(biāo)題:真香!Yocto 鐵桿用戶轉(zhuǎn)粉 PetaLinux 的三大理由
文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
產(chǎn)學(xué)研融合!思爾芯數(shù)字EDA工具走進(jìn)北航課堂

賽思快訊 | 嘉興市委書記陳偉一行蒞臨賽思調(diào)研

智慧醫(yī)院建設(shè)的三大關(guān)鍵領(lǐng)域
你知道電感的七大關(guān)鍵參數(shù)嗎?
賽思×火山引擎 | 高精度同步時(shí)鐘助力字節(jié)跳動(dòng)華東地區(qū)首個(gè)算力中心落地

國產(chǎn)EDA億靈思?接入DeepSeek

有沒有UCC 28716E這款IC的價(jià)格?
賽靈思低溫失效的原因,有沒有別的方法或者一些見解?
鴻道Intewell工業(yè)操作系統(tǒng),三大關(guān)鍵技術(shù),領(lǐng)跑行業(yè)前沿
易靈思FPGA產(chǎn)品的主要特點(diǎn)

精準(zhǔn)選型,高效設(shè)計(jì) —— 賽盛LC濾波工具介紹

思爾芯賽題正式發(fā)布,邀你共戰(zhàn)EDA精英挑戰(zhàn)賽!

中國信通院發(fā)布“2024云計(jì)算十大關(guān)鍵詞”

賽思快訊 | 發(fā)展新質(zhì)生產(chǎn)力問道賽思?賽思如何下好“創(chuàng)新棋”?

評(píng)論