RISC-V编译环境搭建

踩坑记录(未成功,不建议使用):

$ git  clone  https://github.com/riscv/riscv-tools.git,执行该命令会在当前目录下下载得到一个名为riscv-tools的文件夹,其中内容如图a所示,共十五个文件和文件夹,但其中以riscv为前缀的文件夹是空文件夹。

根据网上资料,输入 git  submodule  update  --init  --recursive会继续下载空文件夹中的内容,但执行该命令后无反应。

                                                                         图a

还有一种通过执行图a中的build.sh来安装组件的方法,这种方法会把所有的组件全部安装,但也未执行成功,如下图所示。

  

注1: 图a中,以riscv为前缀的7个文件夹都是一个个独立的组件,都有各自的用途,下面的方法只安装了riscv-gnu-toolchain。在这个文件夹中的内容涉及最基本也最重要的一些工具,如编译、调试工具等,这个组件是必须的。另几个组件的安装方法也类似,主要步骤:1.执行文件夹中的configure文件(会生成makefile文件),2.sudo make linux开始编译(如果出错则解决相关问题),最核心的就是这两步。但是命令行中执行configure文件时附带什么参数,目前了解的不够。

注2:如果目标机为嵌入式设备,还需安装riscv-pk,这个组件有打包功能,即把bootloader( riscv-pk中自带伯克利大学开发的bootloader,缩写为bbl)、内核镜像、根文件系统、busybox等等打包成一个bin文件。另外还有一个带qemu字样的组件(具体名字记不住了,也可能就包含在上述7个组件中的某一个内),是一个模拟运行环境,如果你编译出来的bin文件在qemu中都无法正常启动、显示,赶紧查原因吧,基本上烧录到板子上也运行不了。无论桌面还是嵌入式开发,qemu组件都是可选的,而对嵌入式开发riscv-pk也是必须的(基本上极少有riscv指令集的PC级别设备,一般都是嵌入式设备,所以上面提到的组件和这里的组件是必须的),网上有相关安装使用教程(能成功安装并使用,我试过,不过步骤没记录下来),大家有需要就百度下。    

              #######################请使用以下方法##########################

具体步骤(建议新建一个文件夹,在这个文件夹中进行安装):

步骤1:$ git clone --recursive https://github.com/riscv/riscv-gnu-toolchain,执行该命令会在当前目录下载一个riscv-gnu-toolchain文件夹及其内容(红色部分可用riscv-fesvr,riscv-pk等替换,可下载其余六个组件)。下载完成后(该文件夹有2~3个Gb大小,另外几个组件很小,十几Mb),cd进该文件夹:$ cd  riscv-gnu-toolchain 。

步骤2:$ ./configure  --prefix=/opt/riscv64-linux  --with-arch=rv64imafdc  --with-abi=xxx  --enable-linux。绿色部分你可以根据个人习惯来自定义,该参数作用:会在此处存放最终编译好的工具(一些可执行命令),红色部分用lp64,lp64d,lp64f之一替换掉,具体区别不清楚,我用的lp64d。本步骤会生成用于编译的makefile文件,且用于64位硬件和linux系统,用于32位硬件或者不带操作系统的裸机开发请百度相关参数设置。

步骤3:$ sudo apt-get install libexpat1-dev,安装一个包,不然编译过程中很可能报错:error: expat is missing or unusable。

步骤4:$ sudo  make  linux,开始编译(比较费时)。注意要加sudo或以root权限运行,不然会报错。

编译成功后在/opt/riscv64-linux ( 该路径由步骤2中的 --prefix=/opt/riscv64-linux 决定,你可以设置为其它路径) 下会有相关文件夹等,如图b所示。

                                                                                            图b

/opt/riscv64-linux/bin下是最重要的一些可执行文件,如图c。

                                                                                                 图c

步骤5:$ gedit  ~/.bashrc,设置环境变量,在bashrc文件尾部添加export PATH=$PATH:工具链安装路径/bin。红色部分用具体的路径代替,本例中为/opt/riscv64-linux(由步骤2中的 --prefix=/opt/riscv64-linux决定)再source一下,应该就能用了。

   

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值