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

基于WSL的RISC-V的GCC交叉工具链搭建,第1张

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了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/567700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存