近三分之二的嵌入式系統(tǒng)使用實(shí)時(shí)操作系統(tǒng)(RTOS),但是團(tuán)隊(duì)使用什么RTOS呢?事實(shí)證明,目前有100多種不同的商業(yè)和開源RTOS可用!這是一個(gè)巨大的數(shù)字!像VxWorks、PX5、EmbOS、SafeRTOS等商業(yè)操作系統(tǒng)已經(jīng)存在。有像Eclipse ThreadX、FreeRTOS、NuttX、Zephyr等開源RTOS。
有了所有這些不同的操作系統(tǒng),單一的RTOS似乎不太可能成為黃金標(biāo)準(zhǔn)或被最廣泛采用。然而,Zephyr的采用和發(fā)展最近一直在滾雪球,這可能會(huì)讓你想知道Zephyr是否會(huì)成為主導(dǎo)RTOS。
Zephyr RTOS是一個(gè)為資源受限的嵌入式系統(tǒng)設(shè)計(jì)的開源操作系統(tǒng)。旨在為開發(fā)物聯(lián)網(wǎng)設(shè)備提供可擴(kuò)展的安全環(huán)境,提供實(shí)時(shí)功能、連接性和模塊化安全功能,它的使命與其他開源實(shí)時(shí)操作系統(tǒng)并無不同。
Zephyr提供一下一些優(yōu)勢(shì):
積極的社區(qū)和發(fā)展
LTS釋放長(zhǎng)期穩(wěn)定
構(gòu)建時(shí)考慮了安全性
便攜性和兼容性
低進(jìn)入壁壘
Zephyr支持許多架構(gòu)和開發(fā)板。事實(shí)上,你根本不需要太多經(jīng)驗(yàn),就可以在不到一個(gè)小時(shí)的時(shí)間內(nèi)啟動(dòng)并運(yùn)行Zephyr。
它的最妙之處是它對(duì)非嵌入式用戶的易用性。如果你不懂硬件,但你知道如何編寫應(yīng)用程序并擁有Linux經(jīng)驗(yàn),也可以使用它。
Zephyr如此受歡迎是因?yàn)樗鼮榱私?/span>Linux的開發(fā)人員打開了人才庫(kù),使他們無需了解底層硬件就可以參與嵌入式工作。問題是你需要在某個(gè)時(shí)候了解任何實(shí)時(shí)嵌入式產(chǎn)品的低水平。
Zephyr的入門非常容易,但是如果你發(fā)現(xiàn)進(jìn)入細(xì)節(jié)和定制它的行為方式是一個(gè)挑戰(zhàn)。Zephyr對(duì)其架構(gòu)體系并不陌生,它是緊密耦合的,這意味著如果你想使用不同版本的GCC或商業(yè)編譯器,這并不容易。
構(gòu)建系統(tǒng)優(yōu)化了代碼,但是如果你習(xí)慣于使用cmake和其他開發(fā)工具,你會(huì)發(fā)現(xiàn)存在一些“掛鉤”和其他問題,這些問題會(huì)阻止你按照預(yù)期使用這些工具。這可能會(huì)導(dǎo)致挫敗感和額外的時(shí)間投入,以使構(gòu)建系統(tǒng)按照你想要的方式工作。
Zephyr使用了Linux設(shè)備樹,這對(duì)于嵌入式軟件開發(fā)人員來說幾乎是完全陌生的。它的規(guī)則和行為通常看起來違反直覺,可能會(huì)讓嵌入式開發(fā)人員感到沮喪。這使得利用嵌入式軟件開發(fā)人員的技能變得更加困難。事實(shí)上,雖然Zephyr很容易啟動(dòng)和運(yùn)行,但學(xué)習(xí)曲線可能很陡。
結(jié)語
每個(gè)RTOS都有其優(yōu)點(diǎn)和缺點(diǎn)以及有助于解決特定問題的獨(dú)特功能。一個(gè)RTOS不能為所有人做任何事。
商業(yè)RTOS提供了更高級(jí)別的質(zhì)量、支持和認(rèn)證。對(duì)于安全關(guān)鍵或任務(wù)關(guān)鍵軟件中使用的設(shè)備來說,這一成本是非常值得的。
開源RTOS提供了較低的準(zhǔn)入門檻和降低成本的潛力,人才庫(kù)通常更大,沒有嚴(yán)格質(zhì)量或安全需求的普通產(chǎn)品也能正常工作。
Zephyr并非沒有問題,但它彌合了深度嵌入式開發(fā)和Linux嵌入式開發(fā)之間的差距。隨著嵌入式開發(fā)人員的短缺,它可能有助于向更廣泛的開發(fā)人員群體開放嵌入式行業(yè)。
Zephyr會(huì)成為主導(dǎo)的RTOS嗎?只有時(shí)間能證明一切。