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功能 打开 适用于Linux的Windows子系统 选项,确定file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps14.jpg
(2) 去应用商店(Microsoft Store)下载Ubuntu 16.04 LTS(和教程保持一致)
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps15.jpg
(3) 启动Ubuntu,需要等一会,安装(我的电脑已经安装了,使用了下网友的图)
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps16.jpg
(4) 更换源,请自行百度
(5) 切换到root用户
① 输入以下命令设置root密码,输入两次密码后设置密码成功
② 输入以下命令,并输入密码切换到root用户
(6) 安装交叉编译工具
① 打开Ubuntu子系统,创建目录/usr/local/arm,(和教程保持一致,方便后期配置PATH)
- sudo mkdir /usr/local/arm
复制代码② 首先通过Ubuntu子系统找到交叉编译器所在的文件位置,例如我的文件位置:
- F:\正点原子Linux开发板光盘A-基础资料1.1\开发板光盘A-基础资料V1.1\5、开发工具\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盘,详细见下图
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps17.jpg
③ 把交叉编译器工具复制到/usr/local/arm 目录
- sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f
复制代码
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps18.jpg
④ 拷贝完成以后在/usr/local/arm 目录中对交叉编译工具进行解压,解压命令如下:
- 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 文件,命令如下:
打开/etc/profile 以后,在最后面输入如下所示内容:
- export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
复制代码添加完成以后的/etc/profile 如下图所示:
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps19.jpg
修改好以后就保存退出,重新打开 Ubuntu 子系统,交叉编译工具链(编译器)就安装成功了。
⑥ 然后安装相关库
在使用交叉编译器之前还需要安装一下其它的库,命令如下:
- sudo apt-get install lsb-core lib32stdc++6
复制代码等待这些库安装完成。
⑦ 交叉编译器验证
首先查看一下交叉编译工具的版本号,输入如下命令:
- arm-linux-gnueabihf-gcc -v
复制代码如果交叉编译器安装正确的话就会显示版本号,
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps20.jpg
2、VS Code中更改终端用VS Code打开任意工程文件,点击终端、新建终端,就会在VS code下方看到一个终端界面,
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps21.jpg
点击图中的位置,再点击默认shell
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps22.jpg
选择WSL Bash
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps23.jpg
然后新建终端,这就是Ubuntu子系统的终端
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps24.jpg
输入make,可能会遇到以下界面的提示
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps25.jpg
在终端输入以下命令,
等待安装完成,输入make,等待编译完成如下图所示,
file:///C:\Users\panji\AppData\Local\Temp\ksohtml17868\wps26.jpg
3、下载验证因为没有开发板,所以未经过下载验证,有通过VS CODE终端下载文件到板子上成功的小伙伴可以发出来看看!