基于WSL的RISC-V的GCC交叉工具链搭建

1. 需求目的

由于Linux服务器难以访问的原因,决定自己再windows本地搭建一套可以运作的编译链。代码的上传和下载通过TortoiseGit进行实现,编辑使用本地SourceInsight4.0进行实现。唯独编译环境难以实现,代码的编译使用Linux的服务器上的RISCV GCC 进行编译的,本地没有Linux环境,所以需要创建搭建本地Linux服务器编译环境。

编译环境搭建有以下几种方案:

1. 虚拟机,代码共享成为问题,不自由,虚拟机版本权限问题也是主要问题;

2. git Bash, git bash是一个针对linux系统命令行的工具,可以安装GCC和Make, 安装上工具链之后总是显示 gcc: cannot execute binary file: Exec format error, 换了几个版本没有搞定,待研究补充。

3. WSL,编译的代码和编译环器路径都放在windows上,通过Linux命令行实现编译,Linux版本采用Ubuntu20版本;

WSL(windows subsystem for linux), 这个系统是window10专业版的子系统,可以通过Microsoft Strore上进行下载,不过目前只能安装商店上的已经存在的。使用这种方式解决了windows虚拟机安装之后配网和文件共享带来的问题,WSL可以访问window资源的任何路径下的文件,并且文件权限都是有的。

2. WSL的安装

这个安装步骤比较广泛,网络上搜索会有很多,下面主要是三个步骤:

(1)启用开发者模式

(2)在 windows功能 中,启用 适用于 Linux 的 Windows子系统

(3)在应用商店种选择自己需要安装的系统安装

 安装完成之后,开始界面会出现Ubuntu的图标,需要重启电脑,再次打开Ubuntu图标需要过一会才能完成安装。安装过程中有账号和密码的配置,记得配置好的账号密码,root的时候会用到

安装完成之后的Ubuntu如下, 纯命令行模式的:

 2.  GCC工具链的安装

RISC-V工具链的下载链接: https://github.com/ilg-archived/riscv-none-gcc/releaseshttps://github.com/ilg-archived/riscv-none-gcc/releases

这里使用的是 gnu-mcu-eclipse-riscv-none-gcc-8.2.0-2.2-20190521-0004-centos64.tgz, 将其加压到自己windows系统的路径下,也就是安装路径。然后再系统环境变量中添加环境变量路径。

解压命令如下:

zDarkBlue@Host:/mnt/d/software/gcc$ tar zxvf gnu-mcu-eclipse-riscv-none-gcc-8.2.0-2.2-20190521-centos32.tgz -C ./

这里安装使用的路径是:D:\software\gcc\

环境变量的添加路径就是:D:\software\gcc\gnu-mcu-eclipse\riscv-none-gcc\8.2.0-2.2-20190521-0004\bin, 注意要到bin文件夹;

上面的路径是windows下的路径,再UBuntu中使用的路径会有所不同,下面会写到。

至此,GCC For RISC-V的编译环境就安装好

 3. uBuntu make环境的搭建

安装的UBuntu没有make,需要手动安装make工具,安装使用sudo输入密码的方式安装:

make 工具安装好之后,在对自己的代码进行编译之前需要修改代码工程的makefile文件,目的是make能够找到GCC工具链,说白了就是告诉make gcc的路径。ubuntn下GCC的路径跟Windows不一样。

原来配置的GCC路径是:D:\software\gcc\gnu-mcu-eclipse\riscv-none-gcc\8.2.0-2.2-20190521-0004\bin

在makefile中修改的路径是/mnt/d/software/gcc/gnu-mcu-eclipse/riscv-none-gcc/8.2.0-2.2-20190521-0004/bin

注意:一个是斜杠的变化,一个必须需要添加/mnt 因为c/d/e 盘都是挂载在UBuntu系统中的;

另外,因为WSL是子系统,windows下配置的环境变量都是可以通过WSL看到的, 直接复制即可, 通过以下指令获取PATH;

zdrakblue@host:/$ echo $PATH
/mnt/d/software/gcc/gnu-mcu-eclipse/riscv-none-gcc/8.2.0-2.2-20190521-0004/bin:/mnt/d/software/gcc/gnu-mcu-eclipse/riscv-none-gcc/8.2.0-2.2-20190521-0004/lib:/mnt/d/software/gcc/gnu-mcu-eclipse/riscv-none-gcc/8.2.0-2.2-20190521-0004/include:

至此,基于WSL的RISC-V的GCC交叉工具链搭建 完成,就可以到自己代码的目录执行make了。

  • 12
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值