簡體   English   中英

如何為RV32I指令集構建峰值?

[英]How to build spike for RV32I instruction set?

我已經安裝了具有以下設置的riscv-gnu-toolchain,該設置可以正常運行:

./configure --prefix=/opt/riscv --enable-multilib --with-arch=rv32i --with-abi=ilp32

現在,我正在嘗試構建一個能夠運行使用此工具鏈編譯的可執行文件的spike版本。

  • riscv-fesvr似乎沒有任何特定於ISA的設置。 我用../configure --prefix=/opt/riscv編譯了它

  • riscv-isa-sim提供--with-isa,因此我將其設置為: ../configure --prefix=/opt/riscv --with-isa=RV32I除了一些缺少缺少包含fesvr路徑的問題之外,此方法還不錯我必須在makefile中手動修復。

  • 我用../configure --prefix=/opt/riscv --host=riscv32-unknown-elf構建的riscv-pk,也沒有編譯問題。

不幸的是,如果我嘗試運行生成的峰值可執行文件,它將導致分段錯誤。 如果我不添加任何參數,則可以得到“用法”打印,但沒有其他效果。

$ echo -e '#include <stdio.h>\n int main(void) { printf("Hello world!\\n"); return 0; }' > hello.c
$ riscv32-unknown-elf-gcc -o hello hello.c
$ spike pk hello
$ Segmentation fault (core dumped)
$ spike pk
$ Segmentation fault (core dumped)
$ spike hello
$ Segmentation fault (core dumped)
$ spike --isa=RV32 pk hello
$ Segmentation fault (core dumped)
$ spike --isa=RV32 pk
$ Segmentation fault (core dumped)
$ spike --isa=RV32 hello
$ Segmentation fault (core dumped)

我不知道從哪里開始調試它。

我猜是riscv-isa-sim失敗導致顯示消息“ core dumped”。 因為我添加了一條自己的指令,並且其格式錯誤,所以當我使用該指令時,會出現消息“ core dumped”。 我建議您不需要一一安裝。 您可以通過從https://github.com/riscv/riscv-tools進行克隆來安裝整個工具鏈

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM