Espressif 的 ESP32 微控制器因成本低、性能好且内置无线连接而深受创客和开发者的喜爱。它们适用于从基础物联网传感器到复杂的机器人项目等各种场景——但人们通常不会想到在这类硬件上运行完整的操作系统。这种情况可能正在改变:新型 ESP32-S31 足够强大,可以运行 Linux,而且与以往的破解尝试不同,Espressif 正式支持这项工作。
这款 ESP32 为何与众不同
ESP32-S31 是一款双核 RISC-V 微控制器,主频最高可达 320 MHz。它支持 Wi-Fi 6、蓝牙、Zigbee 以及多种外设,包括 GPIO、SPI、I2C 和以太网——甚至包括千兆以太网 MAC、USB 2.0 高速主机控制器、SD 卡接口和摄像头输入。但使其能够运行完整 Linux 发行版的关键在于其内存管理单元(MMU)。
与大多数微控制器不同,ESP32-S31 通过两级页表和硬件地址转换支持虚拟内存。它还提供多个特权级别,使操作系统能够将内核操作与用户应用程序分开。这些特性使得运行完整的 Linux 内核成为可能,而不是在能力较弱的硬件上有时使用的精简版无 MMU 变体。
Espressif 的官方支持
为了支持这些努力,Espressif 已为 ESP32-S31 发布了官方 Linux 6.18 开发分支。该项目目前仍处于开发者预览阶段,不建议用于生产环境,但对于想要进行实验的人来说,它将节省大量时间——尽管仍需要自行编译内核。
Linux 已在 ESP32-S31 CoreBoard 上演示运行,Espressif 的官方文档已涵盖该系列的开发板,包括面向 AIoT 原型设计的 ESP32-S31 Function CoreBoard-1。
最简单的入门方式
还有一个让入门更加容易的选择:开发者 GrieferPig 发布了一个非官方的 Linux 6.18 移植版本,提供预编译镜像,可直接刷入兼容的 ESP32-S31 开发板。该项目支持双核对称多处理、持久存储、Wi-Fi、蓝牙、GPIO 和 UART。其中多项功能已列为稳定,而其他功能——包括 I2C、SPI、以太网、USB gadget 功能和音频接口——仍处于实验阶段。该移植版本还包含 BusyBox,为与硬件交互提供了熟悉的 Linux 命令行环境。
限制依然真实存在
当然,仍然存在许多限制。ESP32-S31 的内存远少于普通的 Linux 计算机,也没有用于处理图形应用的 GPU。它短期内不会取代树莓派,尤其是对于需要桌面环境或大量处理能力的项目。大多数嵌入式项目可能仍更适合使用 FreeRTOS 或 Espressif 的 ESP-IDF 框架——但将 Linux 作为一种选择开启了新的可能性。随着微控制器变得越来越强大,它们与单板计算机之间的界限将变得越来越模糊。
生态系统已经开始行动:Waveshare 推出了 ESP32-S31-Zero,这是一款紧凑型开发板,配备高达 32 MB PSRAM 和 32 MB SPI 闪存,而且 ESP32-S31 的初步 Linux 支持已经可用,随着软件的成熟,可能会为有趣的应用开辟道路。
另请阅读 Geekiki:Meta 开放 Muse Gadgets:ESP32 和树莓派成为 AI 智能体的硬件。
图片来源:ESP32-S31 Function CoreBoard-1,Espressif Systems 官方文档中的官方图片。
来源
- Hackster.io — “Full Linux on an ESP32? It's Official”
- Hackaday — “Proper Linux, On An ESP32”
- CNX Software — “Waveshare ESP32-S31-Zero”
透明度声明:本文在人工智能的协助下完成,并与 X 上的公开帖文及互联网来源进行了交叉核对。信息已根据下方引用的原始来源核实,建议查阅原始来源以确认细节。
作者:Muse