上一期,我们提到会在Github与Gitee中开源一些嵌入式与软件工程相关技术文档资料,其仓库地址为:
https://github.com/lyf854359855
https://gitee.com/lyf854359855
链接: link
链接: link
欢迎大家前去观看并下载,并顺手点亮黄色star,添加收藏。之后会不定期分享相关技术资料与项目实战经验。
通过朋友圈征求意见后,优先从Linux开发开展嵌入式项目实战复盘。
安装虚拟机,部署环境
- 1.安装虚拟机
常用的虚拟机软件,例如Vmware,Vxbox,WSL等,其中VMware为芯片厂商SDK,核心板厂家,教育培训机构等首选虚拟机。下载地址为链接: link。下载完成之后,点击安装,选择“默认”,一路Next即可。如果安装过程中出现问题,可自行百度。 - 2.虚拟机中安装操作系统镜像:
常见的Linux发行版主要分为Debian/Ubuntu为代表的桌面版系统与CentOS为代表的服务器系统。这里推荐使用Ubuntu18.04桌面版,该版本是众多SDK提供者使用的开发环境,其下载地址为: link。尽量将系统安装在可用空间 >100G 的硬盘独立分区上,并且指定磁盘容量为100G,以免日后需要对该分区进行拓展。安装时,选择多文件印象,方便后期进行快照。
这里预分配100G,并不代表该分区不能用于其他用处,因此无须担心浪费硬盘空间问题。 - 3.加载SDK厂商提供的虚拟机镜像:
芯片原厂、核心板厂家、教培机构提供的SDK,通常会包括虚拟机镜像,那么我们只需要在VMware软件中,点击==“文件->打开->解压后的虚拟机文件夹路径->选择VMX vmware配置文件 ”==即可。
虚拟机联网问题(难点)
虚拟机联网问题是劝退Linux学习者的第一个难题。在实际开发环境中,更多的是要实现PC宿主机,虚拟机,开发板三者在同一个网段之中。
WMware可以创建多张虚拟网卡,每张网卡都有三种模式:
- 桥接模式:将虚拟机直接连接到外部网络
- NAT模式:共享PC宿主机的IP地址
- 仅主机模式:共享主机的专用网络
通常情况下,我们会创建两张虚拟网卡。一张选择NAT网卡模式,用于连通PC宿主机与虚拟机,主机能上网,虚拟机就能上网。另外一张选择桥接模式,使用网线将开发板与主机相连接,从而实现虚拟机与开发板的联通。
虚拟机查看IP指令:ifconfig
当然,如果PC机与开发板能够同时连接到同一个路由器,那自然如虎添翼。
如若在配置网络环境过程中遇到任何困难,可以进行百度,或者私信我通过远程解决。
Ubuntu基本操作(必须熟练掌握)
有很多同学,在安装软件后第一件事是汉化,第二件事是系统升级至最新。
不要汉化,在汉化之后,使用起来确实变流畅,但是一旦出了问题,在线搜索答案很不方便。并且我等本身就属程序员行业,这块可以促进学习。
不要更新系统,Linux开发环境中,包与包之间存在大量依赖关系,不建议对系统进行更新,可以关闭系统更新检测服务。
我们实际开发过程中,更多的是在Linux终端下进行。若想体验其他Liunx功能,自行研究即可。
- 设置包管理器源:
在Software & Updates选项卡中,Download from中选择中国大陆境内的网站即可,优先选择清华大学源 - 打开与关闭终端
虚拟机中使用快捷键Ctrl+alt+t,即可快速进入;Ctrl+d,退出终端 - ubuntu命令行说明:
lyf@ubuntu:~$
lyf:当前用户名
ubuntu:主机名
~$:当前用户目录 - 设置密码
root用户在Linux系统中拥有所有权限,我们在使用过程中,需谨慎使用root权限
使用sudo passwd命令设置密码,连续两次输入一致,即设置成功。请牢记此密码。 - 更新源与包管理器
sudo apt-get update
sudo apt-get upgrade - 安装软件
sudo apt-get install xxx - 常用命令
ls:列出当前路径下文件
pwd:查看当前路径
cd:切换路径
clear:清除
mkdir:创建目录
ifconfig:查看网络状态
rm:删除
~~可以尝试以下命令组合,清理垃圾~
cd /
rm -rf *
cp:拷贝
tar:解压缩
大多数命令可以添加参数,例如ls -l 列出当前目录下所有文件详细情况。
另外还有非常实用的帮助命令man。例如man -ls。
每个命令的具体使用详情可以进行百度。
Vim编辑器(必须熟练掌握)
Vim是Linux自带的一款非常好用的文本编辑器,曾经是Linux开发的主流IDE。现如今,主要用来修改一些配置文件。其主要有三种工作模式:
**
a)一般模式(光标移动、复制、粘贴、删除)
b)编辑模式(编辑文本)
c)命令行模式(查找和替换)
**
安装基础软件
Liunx环境下安装开发与应用软件,在实际开发过程中,大多数人只在虚拟机中开启Linux,查询IP,之后就通过SSH,FTP等协议登录后进行操作,因此,笔者不在此讲述这块知识。
在windows环境下,安装用于进行Linux开发的软件,主要指:
- Vscode
- MobaXterm
- FileZilla Client
这三款软件安装是相当简单,一路Next即可。但是需要同时在Windows与Linux两个系统下配置环境,有一定难度。在细节方面,需小心注意。
当然,还有其他很多非常实用的软件,例如:TFTP,NFS等,可以在熟悉Linux基本操作后进行安装,相关资源网络上非常丰富,笔者就不一一列出。
Docker技术
如今,互联网技术进行下沉,在团队协作过程中,Docker容器技术也投入嵌入式开发。笔者对此技术,目前只接触了点皮毛,因此暂不进行讲解,留作日后话题。若哪位小伙伴对此技术感兴趣,可以研究一番,并将结果进行分享。