Luego de de esta prolongada búsqueda de información hemos podido solucionar esta incógnita que tienen muchos lectores. Te dejamos la solución y nuestro deseo es que resulte de gran apoyo.
Solución:
Parece que está buscando un simulador RISC-V de nivel de instrucción con una interfaz integrada que le permita editar código de máquina de forma interactiva, así como ver y manipular el estado de la CPU. No conozco ninguna herramienta para RISC-V que esté tan estrechamente integrada como MARS, pero puede lograr una aproximación cercana al combinar algunas herramientas RISC-V existentes, a saber:
- Un simulador ISA (Spike o QEMU)
- Una cadena de herramientas RISC-V con ensamblador y compilador (cadena de herramientas RISC-V GNU)
- Un depurador (gdb, incluido en la cadena de herramientas anterior)
- Una interfaz de depuración (modo gdb tui, DDD, gdbgui u otros)
He tenido suerte usando QEMU + gdb o gdbgui de la siguiente manera:
$ qemu-system-riscv32 -S -s -kernel /path/to/myprog.elf -nographic
Luego en otra consola:
$ 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
NOTA: Me doy cuenta de que el gdb construido bajo la cadena de herramientas riscv no incluye soporte para el modo tui de forma predeterminada.
NOTA 2: QEMU es en realidad más que un simulador ISA: simula varias placas de destino RISC-V específicas y sus periféricos correspondientes.
Ripes: un simulador gráfico de tubería RISC-V de 5 etapas y un editor de ensamblaje
rv8 : Simulador RISC-V para x86-64
risc-v-simulator : ensamblador/simulador RISC-V con GUI
RiscVAssemblerSuite: ensamblador, desensamblador y entorno de simulación RISC V
TinyEMU: TinyEMU es un emulador de sistema para las arquitecturas RISC-V y x86
Si bien el uso de Spike y la cadena de herramientas RISC-V GNU ciertamente funciona y está lejos de ser ideal para aprender ISA.
De hecho, pasé un verano portando MARS para RISC-V porque no había una buena opción para que la usaran los principiantes. RARS debería ser exactamente lo que estás buscando.
Se eliminaron algunas cosas de MARS por varias razones, pero vigilo el repositorio, por lo que si falta una mejora, simplemente haga un problema.
Puntuaciones y reseñas
Recuerda dar difusión a este post si lograste el éxito.