5135|1

1143

帖子

15

TA的资源

纯净的硅(高级)

楼主
 

RISCV的linux模拟环境搭建整理和总结 [复制链接]

一,有关RISC V的开源代码,可以从改网站的连接进入,该网站归纳整理了有关RISC V的多方面资料: https://cnrv.io/resource
二,自己的虚拟机或linux系统事先安装好
三,装好git工具,因为riscv很多开源的东西需要从git上checkout,这样会方便不少
四,
1. 首先安装开源程序版本管理工具:
(linux)Fedora系统上用 yum 安装,
Debian系统上用apt-get 安装(先安装curl、zlib、openssl、expat、libiconv等库,再从git官网上下载最新版本源代码编译安装);
windows系统上安装msysGit。
具体安装说明:http://blog.jobbole.com/25775/

2. RISC-V工具链
l  riscv-tools(

链接已隐藏,如需查看请登录或者注册
) - 基本上所有RISC-V相关工具链、仿真器、测试的宏项目,包含以下的项目
n  riscv-gnu-toolchain(
链接已隐藏,如需查看请登录或者注册
) - GNU工具链

u  riscv-gcc(
链接已隐藏,如需查看请登录或者注册
) - GCC 编译器

u  riscv-binutils-gdb(
链接已隐藏,如需查看请登录或者注册
) - 二进制工具(链接器,汇编器等·)、GDB 调试工具

u  riscv-glibc(
链接已隐藏,如需查看请登录或者注册
) - GNU C标准库实现

n  riscv-isa-sim(
链接已隐藏,如需查看请登录或者注册
) - Spike周期精确指令集模拟器

n  riscv-llvm(
链接已隐藏,如需查看请登录或者注册
) -LLVM编译器框架

u  riscv-clang(
链接已隐藏,如需查看请登录或者注册
) - 基于LLVM框架的C编译器

n  riscv-opcodes(
链接已隐藏,如需查看请登录或者注册
) - RISC-V操作码信息和转换脚本

n  riscv-tests(
链接已隐藏,如需查看请登录或者注册
) - RISC-V指令集测试用例

n  riscv-fesvr(
链接已隐藏,如需查看请登录或者注册
) - 用于实现在上位机和CPU之间通信机制的库

n  riscv-pk(
链接已隐藏,如需查看请登录或者注册
) - 提供一个运行RISC-V可执行文件运行的最简的程序运行环境,同时提供一个最简单的bootloader

n  riscv-qemu(
链接已隐藏,如需查看请登录或者注册
) - 一个支持RISC-V的CPU和系统模拟器


gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+
      ubuntu自身带有gcc,直接apt-get install gcc(或gc++)安装或更新。没有安装的linux系统可从svn checkout svn://gcc.gnu.org/svn/gcc/trunk拿最新的gcc代码。
即便如此,在执行riscv-tools下的build.sh脚本时,依然会报如下error:

configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
http://gcc.gnu.org/install/prerequisites.html for additional info.  If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files.  They may be located in separate packages.
make: *** [stamps/build-gcc-newlib] 错误 1

所以在网上搜到了如下解决方法:

    http://www.multiprecision.org/mpc/   下载最新mpc压缩包
    ftp://ftp.gnu.org/gnu/gmp/          下载最新gmp压缩包
http://ftp.gnu.org/gnu/mpfr/         下载最新mpfr压缩包
1,        先安装GMP
解压GMP的压缩包后,得到源代码目录gmp-6.1.2。在该目录的同级目录下建立一个临时的编译目录如temp。进入temp目录,配置安装选项,输入以下命令进行配置:
  ../gmp-6.1.2/configure --prefix=/usr/local/gmp-6.1.2
     make
     sudo make install
2,        先安装mpfr
解压mpfr的压缩包,得到源代码目录mpfr-3.1.6。进入temp目录,配置安装选项,输入以下命令进行配置:
../mpfr-3.1.6/configure --prefix=/usr/local/mpfr-3.1.6
../mpfr-3.1.6/configure --prefix=/usr/local/mpfr-3.1.6 --with-gmp=/usr/local/gmp-6.1.2
make
sudo make install
3,        先安装mpc
解压mpc的压缩包,得到源代码目录mpc-1.0.3。进入temp目录,配置安装选项,输入以下命令进行配置:
../mpc-1.0.3/configure --prefix=/usr/local/mpc-1.0.3
../mpc-1.0.3/configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-3.1.6
make
sudo make install

安装/更新gcc:链接的时需要上述3个lib。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.0.3/lib:/usr/local/gmp-6.1.2/lib:/usr/local/mpfr-3.1.6/lib 
../trunk/configure --prefix=/usr/local/gcc-4.8 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-3.1.6 --with-mpc=/usr/local/mpc-1.0.3
make
make check(可选)
sudo make install
。。。。。。等待。。。。。。
查看当前gcc版本:
/usr/local/gcc-4.8/bin/g++ -v
使用内建 specs
COLLECT_GCC=/usr/local/gcc-4.8/bin/g++
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.8/libexec/gcc/x86_64-unknown-linux-gnu/4.8.4/lto-wrapper
目标:x86_64-unknown-linux-gnu
配置为:
../trunk/configure --prefix=/usr/local/gcc-4.8 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-3.1.6 --with-mpc=/usr/local/mpc-1.0.3

此帖出自FPGA/CPLD论坛

最新回复

非常棒,讲的太高了,价值非常高,收获很多啊   详情 回复 发表于 2020-9-19 11:21
点赞 关注
 

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

非常棒,讲的太高了,价值非常高,收获很多啊

此帖出自FPGA/CPLD论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表