程序在模拟器上运行但不在FPGA

时间:2015-10-29 09:50:27

标签: riscv

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

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

如果我在电脑中使用

spike pk myhello

我得到“Hello world!”正如所料,但如果我使用此命令在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。

非常感谢

1 个答案:

答案 0 :(得分:1)

如user2548418所指出,更新" pk"包解决了问题(并在里面再次创建图像)。 当引导linux内核时,使用scp复制文件当前不可用,但可以按照{{3>在{{3}中创建根磁盘映像" 中的说明将它们加载到系统中},将文件复制到mkdir创建的文件夹中。