• 正文
  • 相关推荐
申请入驻 产业图谱

ESP32也能跑Linux了:乐鑫发布ESP32-S31 Linux BSP开发者预览版

08/25 13:54
982
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

一颗带 MMU 的双核 RISC-V 芯片,配上 16MB PSRAM,已经可以启动完整的 Linux 系统。不过现阶段更适合尝鲜,距离产品落地还有一段路。

提到 ESP32,多数开发者首先想到的是 Wi-Fi、蓝牙、FreeRTOS,以及各种低成本物联网设备

现在,乐鑫准备让 ESP32-S31 再往前走一步:运行 Linux。

乐鑫近日发布了面向 ESP32-S31 的 Linux BSP 开发者预览版。官方已经公开 Buildroot 配置、启动组件、Linux 内核分支和镜像打包工具,开发者可以自行编译系统,并将完整镜像烧录到开发板

https://github.com/espressif/esp-linux-bsp

这不是社区爱好者做的概念验证,而是乐鑫提供的官方支持。不过“官方”不等于“成熟”。从目前的完成度来看,它更像一套供开发者测试和反馈的早期工具链。

为什么 ESP32-S31 能运行 Linux?

ESP32-S31 是一款双核 RISC-V 微处理器。与过去不少 ESP32 芯片相比,它有一个对 Linux 很重要的硬件单元:MMU,也就是内存管理单元。

Linux 依赖虚拟内存和进程地址空间管理。没有 MMU,虽然也能通过 µClinux 等方案运行经过调整的系统,但软件兼容性和开发体验都会受到限制。ESP32-S31 加入 MMU 后,运行常规 Linux 内核就容易得多。

目前配套开发板还带有 16MB PSRAM。这个容量放在桌面设备上几乎可以忽略,但对于一个经过裁剪的嵌入式 Linux 系统,已经足够完成启动并进入命令行。

需要注意的是,这里的“能跑 Linux”并不意味着它能替代树莓派,也不适合直接运行桌面环境。ESP32-S31 的优势仍然是成本、功耗、无线连接和外围接口。Linux 带来的价值,是更成熟的软件生态和更熟悉的开发方式。

官方 BSP 里有什么?

乐鑫这次公开的内容分布在几个代码仓库中。

esp-linux-bsp 仓库负责镜像布局和打包。构建流程会将 U-Boot SPL、U-Boot FIT 镜像、设备树、XIP Linux 内核和 cramfs 根文件系统合并,最终生成一个可以直接烧录的完整镜像:

s31_full_flash.bin

真正的 Buildroot 配置位于 esp-buildroot-external 仓库。当前方案基于 Buildroot 2025.02,采用32位 RISC-V musl 工具链,主要组件包括:

    OpenSBI 1.6 的乐鑫集成分支U-Boot 2024.07 的乐鑫集成分支Linux 6.18 的 ESP32-S31 分支ESP32-S31 镜像打包工具

系统启动时,会依次经过 SPL、OpenSBI、U-Boot、Linux 内核和根文件系统,最后进入 root shell。

换句话说,这已经是一条完整的 Linux 启动链,不只是单独把内核“点亮”。

实际编译要花多久?

作者 Jean-Luc Aufranc 按照官方文档做了一次编译测试。

首先需要准备 Buildroot 2025.02 和乐鑫的外部配置树:

git clone --branch 2025.02 --depth 1 
  https://gitlab.com/buildroot.org/buildroot.git 
  esp-buildroot

git clone -b buildroot/v2025.02-esp32s31 
  https://github.com/espressif/esp-buildroot-external.git 
  esp-buildroot-external

随后加载 ESP32-S31 的默认配置:

make -C esp-buildroot 
  BR2_EXTERNAL=~/edev/sandbox/esp-buildroot-external 
  O=~/edev/sandbox/esp32-s31-linux 
  espressif_esp32s31_function_core_board_nor_defconfig

再开始正式编译:

ESP_ESPTOOL=$(which esptool) 
make -C ~/edev/sandbox/esp-buildroot 
  O=~/edev/sandbox/esp32-s31-linux/ 
  -j$(nproc)

由于需要下载软件包并构建完整工具链,首次编译耗时超过一个小时。最终生成的完整 Flash 镜像约为 13.8MB。

还有一个容易踩坑的地方:ESP32-S31 要求 esptool 版本不低于 5.3.0。旧版工具无法正确处理这款芯片。

如何烧录?

开发板进入下载模式后,可以用下面的命令写入镜像:

esptool 
  --chip esp32s31 
  --port <serial-port> 
  --baud 1152000 
  write-flash 
  0x0 <output-directory>/images/s31_full_flash.bin

如果高速串口连接不稳定,可以将烧录波特率降至 460800。完成烧录后,通过 115200 波特率打开串口,即可查看 Linux 启动日志并进入控制台。

先别急着拿它做产品

这次发布的是 Developer Preview,而不是稳定版。

乐鑫在项目说明中写得很直接:

    当前只支持 ESP32-S31没有固定的更新周期后续改动可能破坏兼容性不保证 API 和 ABI 稳定功能请求可能暂不接受Bug 只会在资源允许时处理

官方建议将它用于硬件评估、原型开发和兼容性测试,不建议用于量产项目、需要长期维护的设备或关键系统。

现阶段还有一些问题没有明确答案。例如,Wi-Fi 是否已经具备完整可用的驱动支持,官方文档中尚未给出清晰说明。对 ESP32 来说,无线连接恰恰是最受关注的能力之一。

因此,现在最适合做的事情是体验启动流程、检查外设支持,并评估 Linux 在 16MB 内存下的实际运行表现。直接把它写进量产方案,还为时过早。

社区移植已经先行一步

在官方 BSP 发布之前,社区已经开始为 ESP32-S31-Korvo-1 开发板移植 Linux。

其中一个项目基于 Linux 6.12,目前 Buildroot 根文件系统和重启功能可以稳定工作,但关机尚未实现,Wi-Fi、蓝牙双模和双核支持仍处于实验阶段。

另一个社区项目尝试运行 Linux 7.1 和 OpenSBI 1.9。它已经完成基础启动,不过 LCD、microSD、USB Host 和 WLAN Modem 等外设仍未启用。

这些项目说明 ESP32-S31 的硬件确实具备运行 Linux 的条件,也从侧面反映出驱动和外设适配才是接下来最费时间的部分。内核能够启动只是第一关。

GrieferPig 为 ESP32-S31 移植的 Linux 6.12

ESP32 跑 Linux,真正有用吗?

如果只是控制几个传感器、驱动电机或者定时上传数据,FreeRTOS 通常更省资源,启动也更快。换成 Linux 未必划算。

但在另一些场景中,Linux 会带来明显便利。例如,需要使用成熟网络工具、文件系统、Shell 脚本和现成开源程序时,开发者可以少做不少底层适配。熟悉 Linux 的团队也更容易接手应用开发。

ESP32-S31 可能由此进入一个以前不太适合 ESP32 的位置:比常规 MCU 更接近通用操作系统,同时又比传统 Linux SoC 更轻、更便宜。

现在谈它会改变哪类市场还太早。更现实的问题是,乐鑫接下来能否补齐无线和常用外设驱动,并让 BSP 获得稳定、持续的维护。等这些条件满足后,ESP32-S31 才算真正迈进 Linux 设备的门槛。

乐鑫科技

乐鑫科技

乐鑫科技(股票代码:688018)是一家全球化的无晶圆厂半导体公司,成立于 2008 年,在中国、捷克、印度、新加坡和巴西均设有办公地,团队来自约 30 个国家和地区。乐鑫多年来深耕 AIoT 领域软硬件产品的研发与设计,专注于研发高集成、低功耗、性能卓越、安全稳定、高性价比的无线通信 SoC,现已发布 ESP8266、ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列芯片、模组和开发板,成为物联网应用的理想选择。我们致力于提供安全、稳定、节能的 AIoT 解决方案。同时,我们坚持技术开源,助力开发者们用乐鑫的方案开发智能产品,打造万物互联的智能世界。

乐鑫科技(股票代码:688018)是一家全球化的无晶圆厂半导体公司,成立于 2008 年,在中国、捷克、印度、新加坡和巴西均设有办公地,团队来自约 30 个国家和地区。乐鑫多年来深耕 AIoT 领域软硬件产品的研发与设计,专注于研发高集成、低功耗、性能卓越、安全稳定、高性价比的无线通信 SoC,现已发布 ESP8266、ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列芯片、模组和开发板,成为物联网应用的理想选择。我们致力于提供安全、稳定、节能的 AIoT 解决方案。同时,我们坚持技术开源,助力开发者们用乐鑫的方案开发智能产品,打造万物互联的智能世界。收起

查看更多

相关推荐

最全电子漫画收集达人,漫画控必选!用文字和图片带你领略电子世界之美。 由晓宇哥哥操刀的芯片之家公众号,提供45万个Symbol和3D封装库免费下载,定期分享软硬件、物联网类技术知识外,还精心整理大量参考设计和文档资源,电路图和源代码资料供下载。 立即打开“芯片之家 ”,感受电子与艺术的完美结合。