# XEMU **Repository Path**: li/xemu ## Basic Information - **Project Name**: XEMU - **Description**: XEMU 是一款轻量级的 RISC-V 解释型模拟器,基于 C 语言实现,支持 RV32IM 指令集,支持简单外设模拟 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 11 - **Created**: 2023-07-02 - **Last Updated**: 2023-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 22:12 2023/6/24 ## 一、简介 XEMU 是一款轻量级的 RISC-V 解释型模拟器,基于 C 语言实现,支持 RV32IM 指令集,支持简单外设模拟 - 解释型模拟器:取指、译指、执行、更新 PC,例如 Spick、*XEMU* - 翻译型模拟器:取值、译指、生成本机指令序列、更新 PC,例如 QEMU ## 二、功能介绍 ### 1. 环境介绍 - 软件编译器:`GNU MCU Eclipse RISC-V Embedded GCC, 64-bit (gcc version 8.2.0)` ### 2. 地址分配 |起始地址 |结束地址 |大小|外设 |支持| |:-: |:-: |:-: |:-: |:-: | |0x0000_0000|0x0fff_ffff|32K |ROM |√ | |0x1000_0000|0x1fff_ffff|32K |RAM |√ | |0x2000_0000|0x2fff_ffff|4K |TIMER1|× | |0x3000_0000|0x3fff_ffff|4K |UART1 |√ | *实际使用的空间大小详见 link.lds 文件。* ## 三、使用说明 ### 1. 指令集测试 1. 在源代码中关闭宏 `ENABLE_UART` 2. 执行 `gcc -DDEBUG_ISA xemu.c -o xemu.exe` 3. 执行 `xemu.exe ./rv32im/rv32ui-p-add.bin`,观察打印的结果 4. 执行 `./autotest.bat`,自动测试所有指令 *模拟器退出条件:x26=1,x27=0/1 ### 2. 处理器功能模拟 1. 进入 `./sim` 文件夹下,选择测试用例并进入,执行 `make build` 2. 在根目录下执行 `make build && make run` *模拟器退出条件:通过 UART1 发送字节序列 0x1b 0x04 ## 四、修改日志 - v1.0 - 创建项目并集成测试(22:12 2023/6/24) ## 五、维护 如果有任何疑问或者建议,欢迎在下方评论,或者通过邮件联系(E-mail:ytesliang@163.com),我会尽可能在 24 小时内进行回复。 ATONEMAN 2023.06.24