Closed. This question needs to be more focused。它当前不接受答案。












想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。

1年前关闭。



Improve this question




我正在尝试学习RISC-V ISA。是否有一种方法可以像在MIPS ISA的MARS中那样模拟RISC-V汇编代码?

最佳答案

听起来您正在寻找具有集成前端的指令级RISC-V模拟器,该模拟器使您可以交互式地编辑机器代码以及查看和操纵CPU状态。我不知道任何与MARS紧密集成的RISC-V工具,但是您可以通过组合一些现有的RISC-V工具来实现近似,即:

  • ISA模拟器(SpikeQEMU)
  • 具有汇编器和编译器(RISC-V GNU toolchain)的RISC-V工具链
  • 调试器(gdb,包含在上面的工具链中)
  • 调试器前端(gdb tui模式,DDDgdbguior others)

  • 我使用QEMU + gdb或gdbgui的运气如下:
    $ qemu-system-riscv32 -S -s -kernel /path/to/myprog.elf -nographic
    

    然后在另一个控制台中:
    $ riscv64-unknown-elf-gdb /path/to/myprog.elf
    (gdb) target remote localhost:1234
    or
    $ gdbgui -r -n -g /path/to/riscv64-unknown-elf-gdb /path/to/myprog.elf
    

    注意:我注意到默认情况下,在riscv工具链下构建的gdb不包括对tui模式的支持。

    注意2:QEMU实际上不仅仅是一个ISA模拟器-它可以模拟各种特定的RISC-V目标板及其附带的外围设备。

    09-27 17:03