riskv的linux模拟环境,开启你RISC-V的开发之旅-RISC-V的linux模拟环境搭建整理和总结-EDA365电子论坛通信数码-人工智能-计算机-半导体-手机家电消费电子硬件门户网站...
1. 有关RISC V的开源代码,可以从改网站的连接进入,该网站归纳整理了有关RISC V的多方面资料:https://cnrv.io/resource
2. 自己的虚拟机或linux系统事先安装好
3,装好git工具,因为riscv很多开源的东西需要从git上checkout,这样会方便不少
4. 首先安装开源程序版本管理工具:
(linux)Fedora/Centos系统上用 yum 安装,
Debian系统上用apt-get 安装(先安装curl、zlib、openssl、expat、libiconv等库,再从git官网上下载最新版本源代码编译安装);
windows系统上安装msysGit。
具体安装说明:http://blog.jobbole.com/25775/
5. RISC-V工具链
l riscv-tools(https://github.com/riscv/riscv-tools) - 基本上所有RISC-V相关工具链、仿真器、测试的宏项目,包含以下的项目
n riscv-gnu-toolchain(https://github.com/riscv/riscv-gnu-toolchain) - GNU工具链
u riscv-gcc(https://github.com/riscv/riscv-gcc) - GCC 编译器
u riscv-binutils-gdb(https://github.com/riscv/riscv-binutils-gdb) - 二进制工具(链接器,汇编器等·)、GDB 调试工具
u riscv-glibc(https://github.com/riscv/riscv-glibc) - GNU C标准库实现
n riscv-isa-sim(https://github.com/riscv/riscv-isa-sim) - Spike周期精确指令集模拟器
n riscv-llvm(https://github.com/riscv/riscv-llvm) -LLVM编译器框架
u riscv-clang(https://github.com/riscv/riscv-clang) - 基于LLVM框架的C编译器
n riscv-opcodes(https://github.com/riscv/riscv-opcodes) - RISC-V操作码信息和转换脚本
n riscv-tests(https://github.com/riscv/riscv-tests) - RISC-V指令集测试用例
n riscv-fesvr(https://github.com/riscv/riscv-fesvr) - 用于实现在上位机和CPU之间通信机制的库
n riscv-pk(https://github.com/riscv/riscv-pk) - 提供一个运行RISC-V可执行文件运行的最简的程序运行环境,同时提供一个最简单的bootloader
n riscv-qemu(https://github.com/riscv/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 atftp://gcc.gnu.org/pub/gcc/infrastructure/.See alsohttp://gcc.gnu.org/install/prerequisites.htmlfor 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
Boom环境搭建
1. 从github上克隆boom仿真器:
$ git clonehttps://github.com/ucb-bar/rocket-chip.git
$ cd rocket-chip
$ git checkout boom
$ git submodule update --init
$ cd emulator; make run CONFIG=BOOMConfig
2. RISC-V Toolchain安装
$ export RISCV=/path/to/install/riscv/toolchain
$ export PATH="${PATH}
RISCV/bin"
$ git clonehttps://github.com/ucb-bar/rocket-chip.git
$ cd rocket-chip
$ git checkout boom
$ git submodule update --init
$ cd riscv-tools
$ git submodule update --init --recursive
$ ./build.sh //安装
$ cd ../emulator; make run CONFIG=BOOMConfig //配置为boom模式
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』
riskv的linux模拟环境,开启你RISC-V的开发之旅-RISC-V的linux模拟环境搭建整理和总结-EDA365电子论坛通信数码-人工智能-计算机-半导体-手机家电消费电子硬件门户网站...相关推荐
- 以政府门户网站统筹电子政务发展
来源:新经济导刊 李广乾 重新认识政府门户网站 在认识"政府门户网站"这个概念时,必须明确下列几个方面的内容: 第一,政府门户网站有赖于各政府部门已有的信息化基础条件.但是, ...
- 中国国际消费电子博览会拥抱转型,全新面貌拭目以待!
2021年9月24-26日,第十九届中国国际消费电子博览会(简称电博会)将在青岛国际会展中心隆重举行,如今距离电博会开幕已不到3个月的时间,全国各地的参展企业跃跃欲试.积极筹备. 长久以来,电博会为全 ...
- (附源码)PHP华立学院门户网站 毕业设计 290011
php华立学院门户网站 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,华立学院门户网站被 ...
- (附源码)ssm经济信息门户网站 毕业设计 141634
ssm经济信息门户网站 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚潮流,人类发展 ...
- ssm经济信息门户网站 毕业设计源码141634
ssm经济信息门户网站 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚潮流,人类发展 ...
- (附源码)ssm华立学院门户网站 毕业设计 290011
php华立学院门户网站 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,华立学院门户网站被 ...
- (附源码)php+mysql华立学院门户网站 毕业设计 290011
php华立学院门户网站 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,华立学院门户网站被 ...
- 房产置购门户网站/房屋租赁网站的设计与实现
摘 要 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,房产置购门户网站当然也不能排除在外.房产置购门户网站是以实际运用为开发背景,运用软 ...
- 中国国际消费电子Leader创新奖征集函
由中国国际消费电子博览会(简称电博会)组委会联合国家高端智能化家用电器创新中心举办的2022"中国国际消费电子Leader创新奖"评选已正式启动. 电博会是经国务院批准,商务部.科 ...
- 中国消费电子高频主轴市场趋势报告、技术动态创新及市场预测
消费电子高频主轴市场的企业竞争态势 该报告涉及的主要国际市场参与者有Kessler.Step-Tec.Fischer Precise.Siemens.IBAG Group.Guangzhou Haoz ...
最新文章
- java web 心跳机制实现,基于javax的websocket服务端实现,含心跳机制
- 云计算如何对传统软件交付方式产生影响
- 【Python基础】如何用Pandas处理文本数据?
- P1576 最小花费
- ZeroMQZeroMQ研究与应用分析
- 萤石云全栈开放,亿级终端背后的萤石云平台突显硬核“软”实力
- 工商银行近20年实时大数据平台建设历程
- 云数据时代的协作办公,超级表格强力出击!
- 支配树 Dominator Tree
- 嵌入式开发板模拟器:QEMU
- Linux 自签名ssl证书生成
- 【转】移动端地图技术分享
- CVPR2019目标检测方法进展
- 机器学习——支持向量机(SVM)之超平面、间隔与支持向量
- windowmediaplayer控件出现未能加载的问题
- 无法启动程序因为计算机丢失d3d,弹框:无法启动此程序,因计算机中丢失D3DCOMPILER-47.dll。。。。。。...
- 懈寄生---走出软件作坊:三五个人十来条枪 如何成为开发正规军(十四)(转载)
- 发声单元的原理/扬声器的工作原理
- 你对java工程师的理解_JAVA工程师常见面试题(一):谈谈对死锁的看法?
- 百度引蜘蛛,秒爬秒收录测试(一)