OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7036|回复: 6

VS Code使用win10自带Ubuntu进行GCC编译,再也不用打开VM运行Ubuntu然后编译了

[复制链接]

3

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2018-3-27
在线时间
36 小时
发表于 2020-2-14 01:04:14 | 显示全部楼层 |阅读模式
0、初衷
最近在学ARM linux编程,按照正点原子的教程一步一步从安装虚拟机到搭建环境再到编写代码进行编译调试,因为我之前看过野火的linux教程,使用的是Oracle VM VirtualBox(毕竟免费)安装Ubuntu,然后使用VirtualBox的共享文件夹来和虚拟机Ubuntu进行文件的共享win10下建立的工程文件夹,不用再使用其他工具进行上传,然后打开Ubuntu进行make编译,但是这样切换实在是太麻烦了,占内存,也想过在Ubuntu安装VS Code进行编译,但是这样我试过太卡了。之前就了解到win10自带Ubuntu子系统,就想着能否在win10下使用VS Code的终端来make VS Code下的工程。

1、打开win10自带的Ubuntu子系统
(1)先进入控制面板->程序->启用或关闭Windows功能 打开 适用于LinuxWindows子系统 选项,确定file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps14.jpg
图片1.png
(2) 去应用商店Microsoft Store下载Ubuntu 16.04 LTS(和教程保持一致)
图片2.png
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps15.jpg
(3) 启动Ubuntu,需要等一会,安装(我的电脑已经安装了,使用了下网友的图)
图片3.png
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps16.jpg
(4) 更换源,请自行百度
(5) 切换到root用户
① 输入以下命令设置root密码,输入两次密码后设置密码成功
  1. sudo passwd root
复制代码
② 输入以下命令,并输入密码切换到root用户
  1. su root
复制代码
(6) 安装交叉编译工具
① 打开Ubuntu子系统,创建目录/usr/local/arm,(和教程保持一致,方便后期配置PATH
  1. sudo mkdir /usr/local/arm
复制代码
② 首先通过Ubuntu子系统找到交叉编译器所在的文件位置,例如我的文件位置:
  1. F:\正点原子Linux开发板光盘A-基础资料1.1\开发板光盘A-基础资料V1.1\5、开发工具\1、交叉编译器
复制代码
  1. 输入命令: cd /mnt/f/<font face="宋体">正点原子</font><font face="Calibri">Linux</font><font face="宋体">开发板光盘</font><font face="Calibri">A-</font><font face="宋体">基础资料</font><font face="Calibri">1.1/</font><font face="宋体">开发板光盘</font><font face="Calibri">A-</font><font face="宋体">基础资料</font><font face="Calibri">V1.1/5</font><font face="宋体">、开发工具</font><font face="Calibri">/1</font><font face="宋体">、交叉编译器</font><font face="Calibri">/</font>
复制代码
注:mnt下的f表示本机的F盘,详细见下图
图片4.png

file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps17.jpg

③ 把交叉编译器工具复制到/usr/local/arm 目录
  1. sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f
复制代码
图片5.png

file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps18.jpg
④ 拷贝完成以后在/usr/local/arm 目录中对交叉编译工具进行解压,解压命令如下:
  1. sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
复制代码
等待解压完成,解压完成以后会生成一个名为“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux_gnueabihf”的文件夹,这个文件夹里面就是我们的交叉编译工具链。
⑤ 修改环境变量,使用 VI 打开/etc/profile 文件,命令如下:
  1. sudo vi /etc/profile
复制代码
打开/etc/profile 以后,在最后面输入如下所示内容:
  1. export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
复制代码
添加完成以后的/etc/profile 图所示:
图片6.png
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps19.jpg
修改好以后就保存退出,重新打开 Ubuntu 系统,交叉编译工具链(编译器)就安装成功了。
⑥  然后安装相关库
在使用交叉编译器之前还需要安装一下其它的库,命令如下:
  1. sudo apt-get install lsb-core lib32stdc++6
复制代码
等待这些库安装完成。
⑦ 交叉编译器验证
首先查看一下交叉编译工具的版本号,输入如下命令:
  1. arm-linux-gnueabihf-gcc -v
复制代码
如果交叉编译器安装正确的话就会显示版本号,
图片7.png
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps20.jpg
2、VS Code中更改终端
VS Code打开任意工程文件,点击终端、新建终端,就会在VS code下方看到一个终端界面,
图片8.png
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps21.jpg
点击图中的位置,再点击默认shell
图片9.png
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps22.jpg
选择WSL Bash
图片10.png
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps23.jpg
然后新建终端,这就是Ubuntu子系统的终端
图片11.png
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps24.jpg
输入make,可能会遇到以下界面的提示
图片12.png
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps25.jpg
在终端输入以下命令,
  1. sudo apt install make
复制代码
等待安装完成,输入make,等待编译完成如下图所示,
图片13.png
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps26.jpg
3、下载验证
因为没有开发板,所以未经过下载验证,有通过VS CODE终端下载文件到板子上成功的小伙伴可以发出来看看!

VS Code使用win10自带Ubuntu进行GCC编译.pdf

912.73 KB, 下载次数: 39

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3583
金钱
3583
注册时间
2019-8-14
在线时间
1052 小时
发表于 2020-2-14 14:57:47 | 显示全部楼层
回复 支持 反对

使用道具 举报

13

主题

109

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
351
金钱
351
注册时间
2016-4-20
在线时间
162 小时
发表于 2020-3-7 15:11:19 来自手机 | 显示全部楼层
编译很好解决,通过nfs挂载跟文件系统怎么解决呢?
回复 支持 反对

使用道具 举报

2

主题

712

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2178
金钱
2178
注册时间
2018-8-27
在线时间
258 小时
发表于 2020-3-7 15:44:43 | 显示全部楼层
谢谢分享! 学习了
森罗万象
回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2018-3-27
在线时间
36 小时
 楼主| 发表于 2020-3-7 21:31:51 | 显示全部楼层
hannuaa 发表于 2020-3-7 15:11
编译很好解决,通过nfs挂载跟文件系统怎么解决呢?

我也还在解决中
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2019-10-3
在线时间
21 小时
发表于 2021-1-26 16:14:02 | 显示全部楼层
MrWeng 发表于 2020-3-7 21:31
我也还在解决中

请问解决了嘛,nfs挂载和文件系统
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2018-10-31
在线时间
19 小时
发表于 2021-3-15 11:25:39 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 20:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表