SP32系列芯片實(shí)時(shí)操作系統(tǒng)方案,物聯(lián)網(wǎng)硬件技術(shù)發(fā)展,飛睿科技樂(lè)鑫代理
ESP32、ESP32-S2 和 ESP32-C3多系列芯片支持 NuttX 和 Zephyr 操作系統(tǒng),現(xiàn)已提供對(duì) NuttX 和 Zephyr 開(kāi)源實(shí)時(shí)操作系統(tǒng) (RTOS) 的支持。
憑借豐富的功能和廣闊的應(yīng)用,ESP32系列芯片在物聯(lián)網(wǎng)市場(chǎng)廣受歡迎。為用戶提供了一個(gè)物聯(lián)網(wǎng)開(kāi)發(fā)框架 ESP-IDF,集成大量軟件組件,包括 RTOS、外設(shè)驅(qū)動(dòng)程序、網(wǎng)絡(luò)棧和多種協(xié)議實(shí)現(xiàn)技術(shù)等。

開(kāi)發(fā)者能夠在硬件上使用 ESP-IDF 輕松開(kāi)發(fā)嵌入式軟件,構(gòu)建功能卓越的物聯(lián)網(wǎng)產(chǎn)品?;诳蛻粜枨?,現(xiàn)在也能夠提供對(duì) NuttX 和 Zephyr 操作系統(tǒng)的支持。
NuttX為小型(8 位)CPU 提供了 POSIX 兼容接口的實(shí)時(shí)操作系統(tǒng) (RTOS)?,F(xiàn)在,NuttX 已成為那些既想擁有 POSIX 編程體驗(yàn),又想使用小型 CPU/MCU 用戶的首選 RTOS。

NuttX保證架構(gòu)的完整性,不允許使用“外部”代碼,除非“外部”代碼經(jīng)過(guò)了嚴(yán)格的審核,并仔細(xì)選擇了代碼庫(kù)。例如,它不允許直接使用與公認(rèn)代碼標(biāo)準(zhǔn)不一致的制造商 API 和 HAL。
代碼完整性是 NuttX 最重要的標(biāo)準(zhǔn),從長(zhǎng)遠(yuǎn)來(lái)看,編寫(xiě)完全符合代碼標(biāo)準(zhǔn)的優(yōu)秀代碼會(huì)大大提高項(xiàng)目開(kāi)發(fā)效率。
Zephyr是一個(gè)小型的實(shí)時(shí)操作系統(tǒng) (RTOS),旨在支持廣泛的物聯(lián)網(wǎng)硬件并構(gòu)建強(qiáng)大的物聯(lián)網(wǎng)應(yīng)用?!昂献鳌笔?Zephyr 項(xiàng)目的重點(diǎn),用戶和廠商都能夠?qū)?Zephyr 移植到他們自己的系統(tǒng)中。

隨著硬件支持的不斷擴(kuò)展,Zephyr 也擁有一個(gè)龐大的用戶群。Zephyr吸引了大批服務(wù)提供商和承包商,他們將幫助公司更快地將支持 Zephyr 的產(chǎn)品投入生產(chǎn)?,F(xiàn)在,Zephyr 已經(jīng)不僅僅是一個(gè)社區(qū)或一個(gè)項(xiàng)目,而是成為了一個(gè)完整的生態(tài)系統(tǒng)。
在ESP32系列芯片上引入不同的操作系統(tǒng),自加入 NuttX 和 Zephyr 社區(qū)以來(lái),不斷優(yōu)化并擴(kuò)展ESP32系列芯片對(duì)這兩個(gè)操作系統(tǒng)的支持。

由于ESP32 是一個(gè) Wi-Fi MCU,首先專注于為最基本的 MCU (CPU) 提供支持,然后再到 Wi-Fi,再到其他基本外設(shè)。這樣開(kāi)發(fā)人員可以先測(cè)試芯片,并為我們提供反饋,然后我們基于反饋進(jìn)行功能優(yōu)化。
這也有助于我們了解社區(qū)需求,適當(dāng)調(diào)整重要功能的開(kāi)發(fā)順序。
目前ESP32多系列芯片對(duì) NuttX 和 Zephyr 的支持情況如下表所示:

* 表格說(shuō)明
Yes(綠色):已支持該功能
No(紅色):不支持該功能
N/A(白色):功能對(duì)該設(shè)備/操作系統(tǒng)不可用
WIP(黃色):功能正在開(kāi)發(fā)中
Conditional(黃色):在特殊條件/特定應(yīng)用下支持該功能
Beta(天藍(lán)色):功能處于測(cè)試版本階段

除了設(shè)備支持外,還需要解決一些系統(tǒng)方面的挑戰(zhàn):用戶除了使用 ESP-IDF,也能夠使用其他操作系統(tǒng)構(gòu)建功能強(qiáng)大的產(chǎn)品。芯片支持計(jì)劃,計(jì)劃增加盡可能多的新功能,真正使用戶和社區(qū)在構(gòu)建物聯(lián)網(wǎng)項(xiàng)目中受益。
我們將進(jìn)一步增強(qiáng)對(duì)芯片低功耗模式、Wi-Fi 性能和安全特性等方面的支持。同時(shí)也將繼續(xù)擴(kuò)展產(chǎn)品線,在支持的功能列表中增加更多外設(shè)功能。支持計(jì)劃如下表所示:

目前,我們已經(jīng)有一些在 ESP32 設(shè)備上使用 Zephyr 和 NuttX 系統(tǒng)的成功案例。以 MCUboot 項(xiàng)目為例,我們先提供了對(duì) Zephyr 的支持,然后再將其進(jìn)行移植,實(shí)現(xiàn)了對(duì) NuttX 的支持。
一些服務(wù)提供商也開(kāi)始考慮在他們的云上支持 NuttX,這將為該社區(qū)用戶提供更多便利。此外ESP32 是第一個(gè)支持 Zephyr 操作系統(tǒng)的片上 Wi-Fi MCU,它也為未來(lái)的 Zephyr 原生 Wi-Fi 協(xié)議棧項(xiàng)目奠定了基礎(chǔ)。