在 FPGA 中执行后检索 RISC-V 处理器上下文

Retrieve RISC-V processor context after execution in FPGA

我正在将 RISC-V 加载到 Zedboard 中,并且我正在 运行 进行基准测试(在 riscv-tools 中提供)而不启动 riscv-linux,在这种情况下:

./fesvr-zynq median.riscv

它没有错误地完成,结果给出了循环数和 instret。

我的问题是我想要更多信息,我想知道执行后的处理器上下文(寄存器组值和内存)以及算法给出的结果。有没有办法从 FPGA 执行中知道这一点?我知道可以用模拟器完成,但我需要 运行 在 FPGA 上完成。 谢谢。

按照它为您提供 cyclesinstret 数据的方式进行操作。查看 riscv-tests/benchmarks/common/*。该代码是 运行 裸机,因此您可以编写任何您想要的代码并访问任何 CSR、寄存器或内存,然后您可以使用基本版本的 printf 来显示信息。