使用Spike调试简单的C和汇编程序(riscv-isa-sim)

时间:2015-03-03 10:07:02

标签: riscv spike

我在spike上运行Simple C和Assembly程序(这很好)。我无法运行spikes调试模式。虽然我正在尝试调试不同的程序,但我总是得到相同的输出。我使用riscv64-unknown-elf-gcc从C和汇编代码生成可执行二进制文件,并在http://riscv.org/download.html#tab_isa-sim上描述以下命令以运行调试模式:

$ spike -d pk simpleprogram

如果我输入:

,我也会获得相同的输出
$ spike -d pk 

如果我输入以下命令(没有pk),我会收到错误消息:

$ spike -d simpleprogram 

1 个答案:

答案 0 :(得分:4)

pk实际上是代理内核。它是一个单一的进程操作系统,允许更容易运行程序。 pk是一个RISC-V二进制文件,在spike之上执行。

当你用pk运行spike时,它首先运行pk,一旦一切就绪,pk将执行交给你的程序(这是pk的一个参数)。您看到相同的输出,因为您还没有执行足够的时间来通过pk启动并进入您的程序。

可以在没有pk的情况下运行,但必须专门编译程序才能在裸机模式下运行。例如,如何做到这一点,我会看看riscv-tests repo,看看如何运行最小程序。