SP32系列芯片实时操作系统方案,物联网硬件技术发展,飞睿科技乐鑫代理
ESP32、ESP32-S2 和 ESP32-C3多系列芯片支持 NuttX 和 Zephyr 操作系统,现已提供对 NuttX 和 Zephyr 开源实时操作系统 (RTOS) 的支持。
凭借丰富的功能和广阔的应用,ESP32系列芯片在物联网市场广受欢迎。为用户提供了一个物联网开发框架 ESP-IDF,集成大量软件组件,包括 RTOS、外设驱动程序、网络栈和多种协议实现技术等。

开发者能够在硬件上使用 ESP-IDF 轻松开发嵌入式软件,构建功能卓越的物联网产品。基于客户需求,现在也能够提供对 NuttX 和 Zephyr 操作系统的支持。
NuttX为小型(8 位)CPU 提供了 POSIX 兼容接口的实时操作系统 (RTOS)。现在,NuttX 已成为那些既想拥有 POSIX 编程体验,又想使用小型 CPU/MCU 用户的首选 RTOS。

NuttX保证架构的完整性,不允许使用“外部”代码,除非“外部”代码经过了严格的审核,并仔细选择了代码库。例如,它不允许直接使用与公认代码标准不一致的制造商 API 和 HAL。
代码完整性是 NuttX 最重要的标准,从长远来看,编写完全符合代码标准的优秀代码会大大提高项目开发效率。
Zephyr是一个小型的实时操作系统 (RTOS),旨在支持广泛的物联网硬件并构建强大的物联网应用。“合作”是 Zephyr 项目的重点,用户和厂商都能够将 Zephyr 移植到他们自己的系统中。

随着硬件支持的不断扩展,Zephyr 也拥有一个庞大的用户群。Zephyr吸引了大批服务提供商和承包商,他们将帮助公司更快地将支持 Zephyr 的产品投入生产。现在,Zephyr 已经不仅仅是一个社区或一个项目,而是成为了一个完整的生态系统。
在ESP32系列芯片上引入不同的操作系统,自加入 NuttX 和 Zephyr 社区以来,不断优化并扩展ESP32系列芯片对这两个操作系统的支持。

由于ESP32 是一个 Wi-Fi MCU,首先专注于为最基本的 MCU (CPU) 提供支持,然后再到 Wi-Fi,再到其他基本外设。这样开发人员可以先测试芯片,并为我们提供反馈,然后我们基于反馈进行功能优化。
这也有助于我们了解社区需求,适当调整重要功能的开发顺序。
目前ESP32多系列芯片对 NuttX 和 Zephyr 的支持情况如下表所示:

* 表格说明
Yes(绿色):已支持该功能
No(红色):不支持该功能
N/A(白色):功能对该设备/操作系统不可用
WIP(黄色):功能正在开发中
Conditional(黄色):在特殊条件/特定应用下支持该功能
Beta(天蓝色):功能处于测试版本阶段

除了设备支持外,还需要解决一些系统方面的挑战:用户除了使用 ESP-IDF,也能够使用其他操作系统构建功能强大的产品。芯片支持计划,计划增加尽可能多的新功能,真正使用户和社区在构建物联网项目中受益。
我们将进一步增强对芯片低功耗模式、Wi-Fi 性能和安全特性等方面的支持。同时也将继续扩展产品线,在支持的功能列表中增加更多外设功能。支持计划如下表所示:

目前,我们已经有一些在 ESP32 设备上使用 Zephyr 和 NuttX 系统的成功案例。以 MCUboot 项目为例,我们先提供了对 Zephyr 的支持,然后再将其进行移植,实现了对 NuttX 的支持。
一些服务提供商也开始考虑在他们的云上支持 NuttX,这将为该社区用户提供更多便利。此外ESP32 是第一个支持 Zephyr 操作系统的片上 Wi-Fi MCU,它也为未来的 Zephyr 原生 Wi-Fi 协议栈项目奠定了基础。