2

我是 RISCV 处理器的新手,这真的让我很恼火

我使用“测试你的工具链”中的http://riscv.org/download.html#tab_tools教程为 RISCV 创建了一个 .C 程序。

如果我在我的电脑上使用

spike pk myhello

我得到“世界你好!” 正如预期的那样,但是如果我使用此命令在 mi FPGA 上运行它

./fesvr-zynq pk myhello

我明白了

z  0000000000000000 ra 0000000000010030 s0 ffffffffffffffc0
s1 0000000000015290 s2 0000000000000000 s3 0000000000014b60 
s4 0000000000014b60 s5 0000000000000000 s6 0000000000000000
s7 0000000000000000 s8 0000000000000000 s9 0000000000010258
sA 0000000000000000 sB 0000000000000000 sp 000000000ff7fb40 
tp 0000000000000000 v0 0000000000000000 v1 0000000000000000 
a0 0000000000000000 a1 0000000000000000 a2 0000000000000000 
a3 0000000000000000 a4 0000000000000000 a5 0000000000000000 
a6 0000000000000000 a7 0000000000000000 t0 0000000000000000
t1 0000000000000000 t2 0000000000000000 t3 0000000000000000 
t4 0000000000000000 t5 0000000000000000 sr 00000000a00000e9 
pc 0000000000010448 va 000007fffffffff0 insn ffffffff
User store segfault @ 0x000007fffffffff0

取而代之的是“你好世界!” 就像 SDCARD 的预编译图像中包含的示例一样。我尝试启动 linux,但在启动操作系统时无法将程序发送到 FPGA。

非常感谢

4

1 回答 1

1

正如 user2548418 所指出的,更新“pk”包解决了这个问题(并在里面再次创建了图像)。目前无法在linux内核启动时使用scp复制文件,但是可以按照RISCV工具中“创建根磁盘映像”中的说明将它们加载到系统中,将文件复制到mkdir创建的文件夹中。

于 2015-11-10T10:22:23.897 回答