2016-01-13 58 views
0

有沒有人在32位模式下使用spike/pk?帶尖峯的RISC-V 32b仿真

$ riscv32-unknown-elf-gcc -g -m32 -march=RV32IM -DRISCV test.c test 
$ spike --isa=RV32 pk test 
assertion failed @ 0x000052bc: ntohl(hdr->magic) == FDT_MAGIC 

初始build.sh安裝沒有提供32B版本的pk,所以我用riscv32-unknown-

ELF-GCC交叉編譯爲32B RISC-V目標處理器PK如下:

$ ../configure --prefix=$RISCV/riscv32-unknown-elf --host=riscv32-unknown-elf 
$ make XLEN=32 
$ make install 

有什麼想法?

回答

1

您可以檢查東西...

  1. 嘗試 「秒殺--isa = RV32IM」 命令行。
  2. pk只能用RV32IM指令編譯。
  3. 您的斷言消息似乎...與設備樹功能相關。因此,您可以
    • 檢查設備樹blob是否正確。
    • 將您的包和尖峯迴滾到不包含設備樹功能的版本。
+0

pk不能用RV32IM指令集編譯(在.S文件中有未知的指令)。 PK可以使用RV32IMA和RV64IMA進行編譯。 「spike --isa = RV32IM」在我的測試中沒有改變任何東西 恢復到舊版本(2015年夏季)。當時spike不支持--isa配置,併成功運行我們的32b測試程序,即使pk編譯爲64b,即「spike pk64 test32」工作。 – bvenables