项目简介
本项目是基于C++语言开发的RISC-V指令集模拟器,严格遵循RISC-V标准。它主要对32位、仅支持整数指令和机器模式的核心处理器进行模拟,同时模拟主内存、内存映射设备(如uart ns16550a)、系统定时器和同步原语等。该模拟器可运行RISC-V整数测试套件,生成的二进制文件能在Linux和Mac OS-X系统直接运行。
项目的主要特性和功能
- 全面模拟:能模拟RISC-V核心、内存、设备以及内存监视器。
- 文件处理:拥有ELF文件读取和反汇编功能。
- 调试支持:支持使用GDB进行调试。
- 代码复用:复用了windvane的部分组件,像物理内存、逻辑内存API、独占监视器、ELF读取器、GDB接口和ns16550a UART等。
- 依赖管理:依赖elftoolchain和boost program options等开源库。
安装使用步骤
环境准备
确保系统为Ubuntu 18,并安装GCC 8.3和RISC-V工具链(包含汇编器、链接器、C编译器、用户库、ELF读取器等)。
安装依赖
bash
sudo apt-get install bison build-essential flex libarchive-dev m4 bmake zlib1g-dev
cd tools;./get_boost.sh
cd tools;./get_elftoolchain.sh
编译项目
bash
mkdir build
cd build
cmake ..
cmake --build .
make install
运行测试
把RISC-V整数测试套件以ELF格式的文件加载到模拟器中运行,观察执行结果。可借助GDB等调试工具进行调试,例如设置断点、查看寄存器值等。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】