一、简介
xemu 是一款轻量级的 risc-v 解释型模拟器,基于 c 语言实现,支持 rv32im 指令集,支持简单外设模拟
解释型模拟器:取指、译指、执行、更新 pc,例如 spick、xemu
翻译型模拟器:取值、译指、生成本机指令序列、更新 pc,例如 qemu
二、功能介绍
环境介绍
软件编译器:gnu mcu eclipse risc-v embedded gcc, 64-bit (gcc version 8.2.0)地址分配
实际使用的空间大小详见 link.lds 文件。
三、使用说明
指令集测试
在源代码中关闭宏 enable_uart执行 ./autotest.bat 或者 ./autotest.sh,自动测试所有指令
模拟器退出条件:x26=1,x27=0/1
处理器功能模拟
进入 ./sim 文件夹下,选择测试用例并进入,执行 make build在根目录下执行 make build && make run
模拟器退出条件:
通过 uart1 发送字节序列 0x1b 0x04
键盘输入 ctrl + b
四、示例
运行 rt-thread-nano 3.15
修改 makefile,路径 ./sim/config.mk
ifeq ($(shell uname), linux)
embtoolpath = /home/crazy/tools/compiler/xuantie/v8.4.0/riscv64-elf-x86_64-20210307
embtoolprefix = ${embtoolpath}/bin/riscv64-unknown-elf
cc = ${embtoolprefix}-gcc
objdump = ${embtoolprefix}-objdump
objcopy = ${embtoolprefix}-objcopy
else
embtoolpath = c:/riscv-none-embed
embtoolprefix = ${embtoolpath}/bin/riscv-none-embed
cc = ${embtoolprefix}-gcc.exe
objdump = ${embtoolprefix}-objdump.exe
objcopy = ${embtoolprefix}-objcopy.exe
endif
进入测试用例目录,编译目标程序
cd sim/rtthread-nano
make build
编译模拟器并运行
make build && make run
运行结果
退出运行,ctrl + b
五、写在最后
可以在 vcs 上直接仿真,环境都配置好了,直接用 dve/verdi 看波形和 log,在 makefile 中修改 risc-v gcc 编译器路径即可
提供了 fpga 的实现,可以一键生成 xilinx 工程,提供了 coe 文件生成,可以一起下载到 fpga 中。工程中提供了 bootloader 的 demo,可以通过串口烧写程序(烧写到 bram 中,掉电丢失)
国产的 gowin fpga 也做了适配,使用 sispeed 的 tang 9k 开发板。和 xilinx 的 fpga 操作类似
最后就是这几天写的 xemu,只适配了 rt-thread nano 3.1.5,完整的 rt-thread 没有去移植.
SILERGY矽力杰超小PMIC,视觉算法“芯”动力!
Lunewave完成500万美金的天使轮融资,将新型毫米波雷达推向市场
AMD 7nm Vega显卡完胜Titan V 价格是最大的缺点
哈曼与PSA集团共力解决下一代自动驾驶高级安全解决方案
NXP金宇杰:与本土客户和市场共同成长
介绍一款轻量级的RISC-V解释型模拟器
包智杰:宏泰提升了模拟测试机技术并丰富了公司产品组合
低温电子消毒柜电路图
独立传感器成昨日黄花 传感器融合走向真正的L3自动化
世界LED看中国,中祥创新揭秘朝鲜春晚背景LED屏
重新定义连接-物联网卡流量池解决方案
薄膜在线检测仪的原理、参数及特点
MAXREFDES150 Pocket IO的作用介绍
刀柄加工中心主轴在CNC加工中心改造中的应用
3V/5V DAC支持智能电流环路
Vishay推出超小外形的新系列卡扣式功率铝电容器
如何完成简易GPS定向仪的制作
魅族pro7什么时候上市?魅族pro7最新消息:好事将近?魅族Pro 7双屏手机上手曝光
PEX8696 PCIe芯片Broadcom
朝鲜通过网络攻击筹集了大约6.7亿美元的虚拟货币和法定货币