深受虚拟机荼毒的我,在经历了众多的折腾以后,终于找到了一种极为方便的搭建嵌入式Linux开发环境的方式
折腾历程:
1.最开始按照正点原子官方教程,搭建VMware虚拟机开发环境,但虚拟机中的vscode运行速度以及各方面体验确实不如真机爽,于是进行了第二步
2.在Windows主机上的vscode编写代码,这样编写代码的效率确实提高了,之后拷贝到Ubuntu虚拟机进行编译烧写,可以通过VMware tools
工具直接拖拽文件到虚拟机,也可以双方开启FTP服务,进行传输,但这样的缺陷在于,每次改动的文件不多,但是还是要整个复制过去,重新编译烧写,再次决定进行改进
3.再经历过虚拟机崩溃,代码以及配置环境丢失的痛苦以后,牢记了两件事虚拟机拍摄快照以及代码备份,于是想到了通过github作为一个中间桥梁,主机编写代码以后使用vscode集成的git插件将代码push
到github,虚拟机再将代码pull
下来,每次编写完代码,只需要执行三个固定的命令(git add, git commit, git push
),虚拟机端执行一个命令git pull
,即完成了代码同步,还对代码进行了备份,主要是从编写完程序到编译程序,不超过5秒,简直爽翻了。(额外多说一句,使用国内的gitee
进行托管,速度更快,亲测可行)
4最终篇,使用Windows自带的子系统功能,vscode插件自带的WSL连接功能,让你像在真机下开发一样流畅,下面着重介绍这个方法
首先在控制面板->程序与功能->启用或关闭Windows功能(最下方)->勾选适用于Linux的Windows子系统
,勾选以后会进行相关设置,然后提示重启
,此时按要求重启电脑
在微软商店Microsoft Store
搜索Ubuntu
,进行安装下载
下载完成以后在开始菜单中找到ubuntu
进行打开
打开以后会进行一系列配置,慢慢等待,之后会提示进行输入用户名和密码,此时输入自己Ubuntu的第一个username
和password
,然后进入子系统
我们主机的磁盘默认挂载在/mnt
目录下,以c d e f ...
进行显示
至此系统安装部分结束,容我吹一下微软这个子系统,打开时间2秒,秒杀一众虚拟机。简直不要不要的。
打开vscode下载插件Remote - WSL
,插件检测到我们打开Ubuntu以后也会进行一系列配置,慢慢等待就好
vscode下连接Linux子系统
点击以后,选择新建窗口
此时会再次打开一个vscode窗口,显示正在配置打开子系统
在vscode集成终端下,可以通过shell
命令操作虚拟机
至此,vscode与子系统的连接已经完成,还是相当方便,接下来配置开发环境
更换镜像源,提升下载速度,选择中科大源,打开/etc/apt/sources.list
文件,删除原来内容,更换为以下内容
#中科大源
deb / bionic main restricted universe multiverse
deb-src / bionic main restricted universe multiverse
deb / bionic-updates main restricted universe multiverse
deb-src / bionic-updates main restricted universe multiverse
deb / bionic-backports main restricted universe multiverse
deb-src / bionic-backports main restricted universe multiverse
deb / bionic-security main restricted universe multiverse
deb-src / bionic-security main restricted universe multiverse
deb / bionic-proposed main restricted universe multiverse
deb-src / bionic-proposed main restricted universe multiverse
选择复制,记得一定要在vim的插入模式
下
#执行以下命令更新源
sudo apt-get update
#执行以下命令更新软件
sudo apt-get upgrade
NFS服务相关说明
在正点原子教程的第一步是设置NFS,不过裸机部分我暂时没有用到,而且还有一个重要的问题是WSL的NFS服务目前我没有找到好的解决办法,看了大多数人设置的,基本都是失败了,如下图所示:
不过现在据我的了解,nfs实现的是局域网的文件共享,既然nfs不可以用的话,回头可以用samba
或者ssh
或者ftp
等方式代替,这个等我回头用到这个功能的时候再折腾一番
安装ssh
首先检查是否子系统已经有了ssh
sudo vim /etc/ssh/sshd_config
,如果文件不存在就安装ssh
使用如下命令安装ssh
sudo apt-get install openssh-server
交叉编译器安装
将交叉编译器拷贝到子系统中,自己的磁盘挂载在/mnt
目录下
具体文件路径为/usr/local/arm
,将交叉编译器拷贝到这个路径下,交叉编译器使用正点原子资料包带的就可以。
拷贝完成以后,进行解压sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_
打开/etc/profile
文件,添加如下内容,进行添加环境变量
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
安装相关库,命令如下
sudo apt-get install lsb-core lib32stdc++6
安装完以后一定记得关闭Ubuntu子系统窗口,重新打开
arm-linux-gnueabihf-gcc -v
查看gcc版本
至此,环境搭建基本完成,接下来再Windows主机上的vscode体验一下,情况如何
具体打开文件官方链接点击这里
如果不想看上面的英文文档,可以按我下面步骤操作
Ubuntu命令行
,找到本机代码的存放位置,一般先到/mnt/c
中(以c盘为例),例如,我是进入到Windows主机桌面,code .
命令,打开主机上的vscode,这个命令会自动打开vscode如有问题,推荐大家关注我的公众号进行留言
公众号可以进行实时回复
文章在公众号首发
本文发布于:2024-01-29 11:56:36,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170650060015104.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |