一、簡介
XEMU 是一款輕量級的 RISC-V 解釋型模擬器,基于 C 語言實現,支持 RV32IM 指令集,支持簡單外設模擬
解釋型模擬器:取指、譯指、執行、更新 PC,例如 Spick、XEMU
翻譯型模擬器:取值、譯指、生成本機指令序列、更新 PC,例如 QEMU
二、功能介紹
實際使用的空間大小詳見 link.lds 文件。
三、使用說明
- 指令集測試
在源代碼中關閉宏 ENABLE_UART
執行 ./autotest.bat 或者 ./autotest.sh,自動測試所有指令
模擬器退出條件:x26=1,x27=0/1
在根目錄下執行 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 沒有去移植.
-
C語言
+關注
關注
180文章
7624瀏覽量
139434 -
模擬器
+關注
關注
2文章
887瀏覽量
43812 -
UART接口
+關注
關注
0文章
124瀏覽量
15581 -
RT-Thread
+關注
關注
31文章
1337瀏覽量
41302 -
RISC-V
+關注
關注
46文章
2439瀏覽量
47830
發布評論請先 登錄
相關推薦
求推薦一款入門級risc-v開發板
學習RISC-V入門 基于RISC-V架構的開源處理器及SoC研究
怎樣去評測一款RISC-V開發板
Ubuntu官方又支持了一款僅有硬幣大小的RISC-V SBC
中國電信自研 RISC-V 云原生輕量級虛擬機 TeleVM 成功運行,內存開銷降低約 90%
RISC-V入云!賽昉科技聯合中國電信完成首個RISC-V云原生輕量級虛擬機驗證
推薦一款基于RISC-V MCU的開源SoC平臺
賽昉科技聯合中國電信完成首個RISC-V云原生輕量級虛擬機驗證

RISC-V入云!賽昉科技聯合中國電信完成首個RISC-V云原生輕量級虛擬機驗證

新思科技收購Ansys,拓展RISC-V驗證及驗證解決方案
著名的 Box86/Box64 模擬器現在有了更好的 RISC-V RVV 1.0 支持,性能提升顯著

評論