内容提要
本文介绍了名为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。