谷歌于 1 月下旬曾向 USPTO(美國專利及商標(biāo)局)遞交了名為 “Pigweed” 的新商標(biāo)申請(qǐng)。根據(jù)申請(qǐng)內(nèi)容來看,Pigweed 商標(biāo)涵蓋“計(jì)算機(jī)操作軟件”。當(dāng)時(shí),人們猜測(cè)這是一款新的操作系統(tǒng)商標(biāo),但并未有任何相關(guān)信息提供。
昨日,谷歌毫無征兆地公布并開源了 Pigweed。與之前的猜想不同,這是一個(gè)嵌入式庫(或模塊)的集合。使用 Pigweed 模塊可以在 32 位微控制器( 即嵌入單電路芯片中的小型計(jì)算機(jī) )上實(shí)現(xiàn)更快、更可靠的開發(fā)。

Pigweed 提供的模塊可滿足嵌入式開發(fā)人員的廣泛需求。從整個(gè)生命周期來看,Pigweed 從設(shè)置,到開發(fā),再到代碼提交,都能夠有效提高嵌入式開發(fā)的效率。谷歌以上述開發(fā)過程為軸,圍繞這幾個(gè)方面分別介紹了 Pigweed 的一些模塊。
嵌入式空間中的經(jīng)典挑戰(zhàn)是減少從運(yùn)行 git clone 到在設(shè)備上執(zhí)行二進(jìn)制文件的時(shí)間。對(duì)于生產(chǎn)嵌入式項(xiàng)目,往往通常需要一整套工具。而 Pigweed 能夠通過虛擬環(huán)境提供簡化設(shè)置的工具,具體來說,Pigweed 的 pw_env_setup 模塊中的引導(dǎo)腳本可設(shè)置當(dāng)前的 shell 以訪問一組標(biāo)準(zhǔn)化工具——包括 Python 3.8、clang 格式以及 ARM 編譯器。所有這些都是在虛擬環(huán)境中完成的,因此無需修改系統(tǒng)的默認(rèn)環(huán)境。

在典型的嵌入式開發(fā)中,即使添加很小的更改也需要一些額外的手動(dòng)步驟。而 Pigweed 的 pw_watch 模塊直接解決了這種效率低下的問題,它提供了一個(gè)監(jiān)視者(watcher),該監(jiān)視者可以在保存文件時(shí)自動(dòng)調(diào)用構(gòu)建,還可以運(yùn)行受代碼更改影響的特定測(cè)試。這大大縮短了更改的編輯——編譯——刷新——測(cè)試(edit-compile-flash-test)周期。
這些測(cè)試都是自動(dòng)完成的,用戶無需離開自己的代碼編輯器。此外,還可以使用 pw_target_runner 模塊在多個(gè)設(shè)備上并行運(yùn)行測(cè)試,從而節(jié)省更多時(shí)間。
團(tuán)隊(duì)開發(fā)代碼需要強(qiáng)調(diào)一致性,然而,設(shè)置 lint、配置代碼格式以及添加自動(dòng)的提交前檢查等通常會(huì)使這項(xiàng)工作無限期延遲。這時(shí),Pigweed 的 pw_presubmit 模塊可派上用場(chǎng)。它會(huì)基于用戶可能已經(jīng)使用的工具提供現(xiàn)成的 Lint 集成套件,并預(yù)先配置好,可以立即供微控制器開發(fā)人員使用。

至于該項(xiàng)目為什么取名為 “Pigweed”,谷歌給出了解釋:“Pigweed,又稱 amaranth ,是一種營養(yǎng)豐富的谷物和綠葉沙拉菜,也是一種快速生長的雜草。”Pigweed 項(xiàng)目團(tuán)隊(duì)希望名字有趣,又能反映項(xiàng)目本身的成長,就像快速生長的雜草 Pigweed 一樣。
目前,Pigweed 已提供了不少模塊,后續(xù)將會(huì)有更多模塊被添加進(jìn)來。需要注意的是,它仍處于早期開發(fā)階段,目前不適合用于生產(chǎn)。
特別提醒:本網(wǎng)內(nèi)容轉(zhuǎn)載自其他媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系我們,本站將會(huì)在24小時(shí)內(nèi)處理完畢。