Ubuntu1404&1808 编译rocket-chips和rocket-tools步骤记录
已在ubuntu1404-x64、ubuntu1804-x64系统上测试通过。虚拟机使用vmware15版本。本教程编写日期2019年8月28日,大体步骤如下,随着时间推移rocket肯定会有更新和编译出错问题,可能就不完全适用于本教程,遇到编译错误就要见招拆招了!
快速说明
安装必要依赖项
切换gcc和g++版本
ubuntu1404版本自带的gcc版本是4.8,正是我们所需要的,如果你使用的1401,本步骤可直接跳过。
ubuntu1804的gcc版本是7.4,而我们需要gcc4.8版本,安装和切换步骤如下:
安装gcc和g++ 4.8版本:
先查看一下目前gcc有几个版本:
根据版本信息更新gcc:
执行下列命令输入编号进行切换:
查看是否切换成功:
先查看一下目前g++有几个版本:
g++更新:
执行下列命令输入编号进行切换:
查看是否切换成功:
安装samba
samba相当于windows的网络共享,可将linux硬盘挂载到windows,这样就可以将windows的文件拷贝到linux系统中了。
安装方法见我的另一
安装JAVA JDK
安装方法见我的另一
安装VCS
编译rocket-chips的vsim的时候需要用到vcs软件,该软件闭源,需另外安装。
安装方法见我的另一
编译rocket-tools工具链
rocket-tools工具链很好编译,基本按照github上的步骤就能编译通过。
下载源代码:
下载子模块:
设置环境变量:
加入以下内容(目录根据实际修改):
-jN: N表示你电脑有几个CPU核心,可以通过命令 echo $(nproc) 获得
更新环境变量:
编译:
编译rocket-chips
编译rocket-chips相比rocket-tools就麻烦多了,尤其编译vsim的时候,会出现很多错误,这时候就需要见招拆招了
前提条件:
- gcc版本为4.8
- 安装VCS(rocket-chips上未提及,该软件闭源,但是编译vsim需要用到)
下载源代码:
下载子模块:
编译C模拟器:
编译VCS模拟器:
编译vsim遇到的问题:
问题1:vcs命令找到不到。VCS是闭源软件需要另外安装,如果安装了还是找不到,应该是环境变量配置问题。
问题2:找不到,参考:https:///chipsalliance/rocket-chip/pull/2055 问题3:undefined reference to `snpsCheckCallocFromGroupFun
解决问题2和3的办法:修改vsim/Makefrag文件,修改成如下图所示
其他小技巧
(一)git下载慢
编辑hosts文件:
加入以下两行:
重启网络:
(二)apt-get install下载慢
解决办法:换源。各个版本linux发行版换源方式可查看:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
结束。。。