I assembly riscv-gnu-toolchain, riscv-linux-boot, riscv-linux-prebuilt and biriscv in one path, and run script such as:
#!/bin/sh
set -ex
RISCV_ROOT=`pwd`/riscv
if [ -d $RISCV_ROOT/tools ]; then
echo $RISCV_ROOT/tools
else
cd $RISCV_ROOT/riscv-gnu-toolchain
git clean -fx -d
git checkout .
./configure --prefix=$RISCV_ROOT/tools --with-arch=rv32imzicsr
make -j12
fi
export PATH=$PATH:$RISCV_ROOT/tools/bin
cd $RISCV_ROOT/riscv-linux-boot
make LINUX_DIR=../riscv-linux-prebuilt VMLINUX=../riscv-linux-prebuilt/kernel/vmlinux-rv32ima-5.0 DTS_FILE=../riscv-linux-prebuilt/dts/config32.dts
cd $RISCV_ROOT/biriscv/tb/tb_core_icarus
make clean
ELF_FILE=/home/uuz/riscv/riscv-linux-boot/riscv-linux-boot.elf make VERBOSE=1 run
I assembly riscv-gnu-toolchain, riscv-linux-boot, riscv-linux-prebuilt and biriscv in one path, and run script such as:
vvp output the "RISC-V Linux Boot" LOGO:
| __ \|_ _|/ ____|/ ____| \ \ / / | | (_) | _ \ | | | |__) | | | | (___ | | _____\ \ / / | | _ _ __ _ ___ __ | |_) | ___ ___ | |_ | _ / | | \___ \| | |______\ \/ / | | | | '_ \| | | \ \/ / | _ < / _ \ / _ \| __| | | \ \ _| |_ ____) | |____ \ / | |____| | | | | |_| |> < | |_) | (_) | (_) | |_ |_| \_\_____|_____/ \_____| \/ |______|_|_| |_|\__,_/_/\_\ |____/ \___/ \___/ \__|
And then, report the error message: ERROR: Invalid opcode: 30529073 at PC: 8040016c ASSERT: ASSERT !"error" :0x109 How to solve this problem? Thanks everyone.