共计 813 个字符,预计需要花费 3 分钟才能阅读完成。
导读 | ESP32 物联网处理器可以支持高达 8MB 的 PSRAM,这足以能够运行最小版本的 Linux。不过,这样的应用现在还是很少见的。 |
我在想,如果尝试一下应该会很有趣。最近就有位开发人员在搭载了 8MB PSRAM 和 2MB SPI 闪存的 ESP32 双核 Xtensa 处理器开发板上成功运行了 Linux 5.0.0。
上面缩短的引导日志显示 ESP32-D0WD 双核 Xtensa 处理器最终是可以引导 Linux 5.0.0 加载程序输出的。但是引导的过程有点复杂,因为引导加载程序需要先跳转到被描述为“小型 RISC-V 虚拟机”的“Juice Vm”上,然后调用 OpenSBI RISC-V 开源管理器二进制接口来加载 Linux 内核和小型文件系统。
完整的启动日志和二进制镜像在 Reddit thread 和 哇酷(WhyCan)开发者社区上都有,哇酷是中文社区。总镜像大小约是 1.5 MB,几乎完全填满了测试开发板的 2MB 闪存。并且它也支持 SPI 和 UART 接口,但它们似乎还没有启动到串行控制台。
祝你们都能找出如何使用两个二进制镜像的方法,因为现在开发者社区上还没有提供任何指导文档。启动日志里的“小型 RISC-V 虚拟机 Juice VM”显示则有一点让人疑惑,刚开始,我甚至认为它的显示出错了。因为在 ESP32-C3 RISC-V 处理器上启动 Linux 好像和 Juice VM 虚拟机没有什么关系。Juice VM 是一个 RISC-V 虚拟机,它也可用于启动 FreeRTOS、RT-Thread 和其他操作系统。但后来我才知道 JuiceVm rv64 虚拟机早就已经被移植到 ESP-IDF 里看,而且支持 ESP32、ESP32-S2 和 ESP32-C3 处理器。
请注意,这其实不是第一次有人在 ESP32 上运行 Linux 了。去年就有人在 ESP32 上演示了较旧版的 Ubuntu 9.04。