在执行make的时候可能会报错Error: unrecognized opcode `fence.i', extension `zifencei' required,这时需要重新执行configure,加上--with-arch=rv64gc_zifeicei。 $ ../configure --prefix=$RISCV --host=riscv64-unknown-elf --with-arch=rv64gc_zifencei $ make -j `nproc` $ sudo make install ...
make sudo make install 这个地方需要注意一点,按照官网的方式进行下载编译,在编译完成后输入qemu -v检查环境是否安装成功时可能会报各种错误,这可能是由于缺乏相应的依赖包导致的,按照错误提示安装相应的依赖包即可,比如ninja、meson。 解决完依赖包的问题,然后就可以使用qemu来运行刚刚编译好的hello二进制码程序,注意这...
2)还需要用到picorv32这个项目中的Makefile文件,需提前下载好。 2|2安装 1)cd到picorv32项目文件夹下,执行: makedownload-tools 便开始了漫长的下载过程,期间在安装完一个子模块后可能会卡住然后报错,这种情况绝大多数是因为网络原因造成的,如果失败了可以再执行一次上述的命令,当一个子模块安装好,重新执行命令...
(MAKE) -C $(notdir $@) $(MAKE) -C $(notdir $@) install mkdir -p $(dir $@) && touch $@ stamps/build-glibc-linux-headers: $(GLIBC_SRCDIR) $(GLIBC_SRC_GIT) stamps/build-gcc-linux-stage1 rm -rf $@ $(notdir $@) mkdir $(notdir $@) cd $(notdir $@) && CC="$(GLIBC_...
make-jN就可以了(N根据自己电脑定) 三、安装qemu检测工具链 cd qemu mkdir build 之后安装依赖项 # 安装编译所需的依赖包 sudo apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev \ gawk build-essential bison flex texinfo gperf libtool patchutils bc \ ...
--target-list=riscv32-softmmu,riscv32-linux-user make -jN // N 根据自己电脑定,我这里是 N=4 结果如下:2) 配置路径 #便于直接使用工具,不用进入到对应路径下使用 export PATH="/home/frank/arch/riscv-gnu-toolchain/qemu/build/:$PATH"3)编写 hello.c 4)编译并使用 qemu 虚拟测试 ...
collect2: error: ld returned 1 exit status Makefile:1840: recipe for target 'gdb' failed make[3]: *** [gdb] Error 1 make[3]: Leaving directory '/home/pengl/riscv/riscv-gnu-toolchain/build-gdb-newlib/gdb' Makefile:9980: recipe for target 'all-gdb' failed make[2]: *** [all-...
sudo make -j8 编译完成后,工具链将自动安装到指定目录,可以通过验证版本信息来确认安装是否成功:cd /opt/riscv/gcc/bin riscv64-unknown-elf-gcc -v通过以上步骤,你已成功构建了RISC-V架构的GNU工具链,现在你可以在RISC-V平台上愉快地进行C语言编译和调试了。这个工具链不仅包含了C编译...
sudo make -jN //#考虑到opt文件夹创建文件和删除文件需要用root权限 1. 2. 3. 4. 编译大概一个小时。 扩展内容: 上述编译会默认生成riscv64-unknown-linux-gnu-gcc版本的交叉编译器,但我们需要riscv64-unknown-elf-gcc。 riscv gcc可以编译成以下几个版本: ...
The Dejagnu test suite has been ported to RISC-V. This can be run with a simulator for the elf and linux toolchains. The simulator can be selected by the SIM variable in the Makefile, e.g. SIM=qemu, SIM=gdb, or SIM=spike (experimental).In addition, the simulator can also be select...