3

我在穗上运行简单的 C 和汇编程序(这工作正常)。我无法运行尖峰调试模式。尽管我正在尝试调试不同的程序,但我总是得到相同的输出。我正在使用 riscv64-unknown-elf-gcc 从 C 和汇编代码生成可执行二进制文件,并且还描述了以下命令:http ://riscv.org/download.html#tab_isa-sim运行调试模式:

$ spike -d pk simpleprogram

如果我只输入以下内容,我也会得到相同的输出:

$ spike -d pk 

如果我键入以下命令(不带 pk),我会收到错误消息:

$ spike -d simpleprogram 
4

1 回答 1

4

pk实际上是代理内核。它是一个单进程操作系统,可以更轻松地运行程序。pk 是在尖峰之上执行的 RISC-V 二进制文件。

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

可以不使用 pk 运行,但您的程序必须专门编译才能在这种裸机模式下运行。例如如何做到这一点,我会查看riscv-tests repo 以了解如何运行最小程序。

于 2015-03-03T21:57:42.880 回答