18/06/25 19:42:39.38 aRmngp/N.net
RISC-Vコンパイル環境を用意したいならここを見るといい
64bitのRISC-Vのコンパイラがビルドできる
32bitの場合はビルドに
time ./build.sh
ではなく
build-rv32ima.sh
こっちを使うと32bitでビルドされるがデフォルトのオプションが-march=rv32imaになる
このままビルドするとriscv_pkがspikeで実行する時に
-marchrv32imaでコンパイルしたバイナリ以外で実行できなくなるので
build-rv32ima.shの内容を一部変更する
CC= CXX= build_project riscv-pk --prefix=$RISCV --host=riscv32-unknown-elf
の部分を
CC= CXX= CFLAGS="-march=rv32imafdc -mabi=ilp32" CXXFLAGS="-march=rv32imafdc -mabi=ilp32" build_project riscv-pk --prefix=$RISCV --host=riscv32-unknown-elf
にするとコンパイル時に指定するgccのオプションが
-march=rv32imafdcでコンパイルしたバイナリでも実行できるpkになる
この場合spikeには--isa=RV32IMAFDCのオプションを指定する