一个非常小的仅包含 C 头文件的 risc-v 模拟器。
点击下面的链接观看介绍此项目的 YouTube 视频:
mini-rv32ima 是 STB 样式库 中的一个单文件头文件 mini-rv32ima.h,它: * 实现了 RISC-V rv32ima/Zifencei†+Zicsr (以及部分 su),带有 CLINT 和 MMIO。 * 实际代码约为 400 行。 * 没有依赖项,甚至没有 libc。 * 易于扩展。 因此,您可以轻松添加 CSR、指令、MMIO 等! * 性能良好。 (~ 450 个 Coremark,大约是 QEMU 的 1/2 速度) * 可读性强,使用基本 C 代码。 * "不完整",因为它没有实现 Linux 不使用的大量规范。 * 易于嵌入应用程序中。
它有一个 示例包装器 ,其中包括: * 实现了 CLI、SYSCON、UART、DTB 和内核镜像加载。 * 它本身只有大约 250 行 代码。 * 编译后只产生约 18kB 的可执行文件,并且只依赖于 libc。 †: Zifence+RV32A 为空。 因此,如果您想使用此模拟器模拟多处理器系统,则需要进行调整。
我正在开发一个非常简单的 C 语言 Risc-V 模拟器。它简陋到甚至没有 MMU(内存管理单元)。我的目标有几个,包括:
暂无开放 Issues,或尚未同步最近议题。