用 7 毛钱的 CH32V003 单片机跑 Linux,启动需要 5 分钟

用 7 毛钱的 CH32V003 单片机跑 Linux,启动需要 5 分钟

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

本文介绍了名为linux-ch32v003的项目,该项目在CH32V003单片机上运行Linux,使用外部PSRAM扩展内存,并实现了硬件SPI操作相关的库。还提到了另一个开源项目mini-rv32ima,一个超精简的RISC-V模拟器。作者计划使用ESP32-S3模组复刻该项目,因为它具有更强大的CPU和更大的内存。

🔎

延伸解读

CH32V003 跑 Linux 的瓶颈与代价

CH32V003 本身内存极少,无法直接运行 Linux。linux-ch32v003 项目通过外接 PSRAM 扩展内存,并实现硬件 SPI 操作库来访问 PSRAM,才勉强让 Linux 启动。但启动耗时约 5 分钟,说明这种方案更多是技术验证,实用性有限。

mini-rv32ima 模拟器的关键作用

linux-ch32v003 的核心是一个来自 mini-rv32ima 的 RISC-V 模拟器。它只有一个头文件、无外部依赖,非常精简。要让它与用户交互,需要实现内存访问、键盘输入和终端输出等函数。linux-ch32v003 已经提供了这些接入的参考实现。

用 ESP32-S3 复刻的可行性

作者计划用 ESP32-S3-N16R8 模组复刻该项目。该模组自带 8M PSRAM,与原项目使用的外置 PSRAM 容量一致,且 CPU 性能远强于 CH32V003,预计启动时间会明显缩短。此外,16MB Flash 可直接打包 Linux 镜像,省去 TF 卡驱动。

❓

Q&A

CH32V003单片机的价格是多少?

CH32V003单片机的价格为0.15美元,即7毛钱。

linux-ch32v003项目的主要功能是什么?

linux-ch32v003项目主要是在CH32V003单片机上运行Linux,解决内存不足的问题。

如何扩展CH32V003的内存?

可以通过使用外部PSRAM来扩展CH32V003的内存。

ESP32-S3模组相比CH32V003有什么优势?

ESP32-S3模组的CPU更强大,内存更大,启动时间预计低于5分钟。

mini-rv32ima是什么?

mini-rv32ima是一个超精简的RISC-V模拟器,没有外部依赖,只有一个头文件。

ESP32-S3模组的Flash容量是多少?

ESP32-S3模组的Flash容量为16MB。

🏷️

标签

➡️

继续阅读