出处:百问网嵌入式专家-韦东山嵌入式专注于嵌入式课程及硬件研发

番外篇1:配置开发嵌入式Linux的VScode设置

起因是我想用VScode开发IMX6ull,但是远程连接Ubuntu18.04失败了,原因是glibc版本过低,现在用最版本试一下,失败了就想办法回滚。

下面是一些网上推荐安装的VScode插件,酌情考虑选择使用:

注意:说明一个大前提,请确保学习时使用着安全的网络环境,然后关闭Windows的防火墙,它会影响咱们使用SSH远程登陆Ubuntu。

在这里输入Host和User;

内容去Ubuntu里面看,我这里就是book@100ask;

一定要正确在配置文件中输入Ubuntu的地址。

此外,我暂时还没找到保存密码的方法,应该在配置文件里面能搞大家试一下,手输也不麻烦,记住密码是123456即可。

番外篇2:Windows传递文件到Ubuntu的新方法

老师在课堂上最常用的是Filezilla软件,虽然确实好用安全,而且现在不少公司维护服务器的时候还在使用它,但对于我们嵌入式开发者来说显得有些步骤繁琐了。如果是WSL环境就方便很多,咱们直接在mnt目录下面就能操作本地磁盘;这个教程用的是虚拟机相对更繁琐一些。

我这边最推荐的方式是共享文件夹,这样和wsl的操作逻辑更接近。在D盘新建一个ShareForVMware文件夹,然后按照下面的步骤把它设置为共享文件夹。

①进入虚拟机的设置选项;

②按照下面的步骤一次设置。

下面来试验一下,我实在不喜欢用Ubuntu里面的原生shell工具,所以现在一般都是远程登录。

使用MobaXterm登录时记得log as:book

注意共享文件夹默认被挂载在/mnt/hgfs目录下哦。

第一篇 新学习路线

1.新学习路线与课程体系

系统组成框图

2.资料下载

Git Bash使用要点

 第二篇  安装虚拟机&Ubuntu基本操作

4K屏幕的合适比例(对我个人而言)。

1.安装VMware运行Ubuntu

由于Linux没有Windows系统中的链接文件(快捷方式)、设备节点等机制,所以为了顺利地在PC机上编译uboot、kernel、App/Drv等文件,我们需要在Windows系统上安装VMware之类软件。

默认的BOOK账号密码为123456。

2.Ubuntu与Windows的简单比较与使用

Windows下的dir命令等价于Linux下的ls命令

Ubuntu发展过程中与Windows的差异不断减小,但在文件管理上却始终有着天壤之别,可以看到Windows是是直观地将不同磁盘空间进行了物理划分;

但Ubuntu则是引用了文件目录机制。

注意:
Windows的绝对路径中,目录使用“\“分隔;Linux的绝对路径中,目录使用“/“分隔;

可以使用Ubuntu下的disks工具查询文件具体的分区信息。

3.shell命令解析PATH环境变量

在 Linux 系统中,Shell 是用户与操作系统内核之间的桥梁,它既是一种命令行解释器,也是一种编程语言。

Shell 的核心功能

命令解释器

  • 接收用户输入的命令,将其转换为内核能理解的指令并执行,同时返回执行结果。
  • 例如:输入 ls(列出文件)、cd(切换目录)、rm(删除文件)等命令时,Shell 会解析并调用系统接口完成操作。

脚本编程

  • 支持通过编写 Shell 脚本(包含一系列命令的文本文件)实现自动化任务,如批量处理文件、系统管理、日志分析等。
  • 脚本通过 bashsh 等解释器执行,无需编译即可运行。

用户环境管理

  • 定义用户的工作环境,包括变量(如 PATHHOME)、别名(如 alias ll='ls -l')、终端属性等。
  • 用户可通过修改配置文件(如 ~/.bashrc~/.bash_profile)自定义 Shell 行为。

注意shell回去寻找解析字符串中的程序名称,目的地是PATH环境变量指向的地址。

 下面用一个具体的例子来讲解一下PATH变量的修改方式。

在外部编辑器(VisualStudio 或其他什么)内编写这样的一段代码:

#include <stdio.h>

int main(int argc,char **argv)
{
	if (argc >= 2)
	{
		printf("Hello, %s!\n",argv[1]);
	}
	else {
		printf("Hello World!\n");
	}

	return 0;
}

将它CV进Ubuntu的桌面,此时的文件路径可以查看到为:

注意,查看方式如上图所示;

用cd和ls命令可以验证这个路径的正确与否。

注意课程提供的Ubuntu中以及配置了GCC编译工具链,我们可以通过这条命令将Hello.c编译为名叫Hello的可执行程序。

我们当然可以在终端工具中使用相对路径与绝对路径来执行Hello这个程序;

执行命令“./Hello  Zeus”时,argc=2,argv[0]=Hello,argv[1]=Zeus。

但我们可以要通过这个示例引入修改PATHA变量这个操作。

三种方法如下,以在PATH 中添加/home/book/Desktop目录为例:
永久设置之方法1:
修改/etc/environment,比如:sudo gedit/etc/environment,然后添加下行红包部分:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/book/Desktop"然后重启系统或重新登录。

永久设置之方法2:
修改~/.bashrc,在行尾添加或修改:export PATH=$PATH:/home/book/Desktop;然后重启系统或重新登录。

临时设置
在终端执行以下命令,这只对当前终端有效:export PATH=SPATH:/home/book/Desktop。

Linux命令的提示符

/表示根目录

Linux命令的格式

Linux命令一般由三部分组成:①command命令;②options选项;③parameter参数。

目前需要掌握的命令:

具体的使用详见手册,我个人认为韦老师的课还是不太适合小白的,需要有一点综合基础才能跟上听懂。

4.目录与文件操作命令

命令:pwd(print working directory)

作用:打印当前所在目录

演示:

命令:cd(change directory)

作用:改变路径

格式:cd  [目录]

实例:返回了上一级home目录

cd -回到上一个目录,需要与它辨析出来。

注意,.可以代表当前目录,..可以代表上一级目录,~代表家目录。        

命令:mkdir(make directory)

作用:创建新的目录

格式:

实例:

在桌面创建了一个叫做123的文件夹,里面新建了一个1.txt,写入了ZWJ这三个字母。

更多的请参考课程手册,非常详细。

5.权限与属性命令

获取文件属性可以用ls -l:

 其中,-代表这是一个常规文件,其后rwx代表“可读”、“可写”以及“可执行”。往后的三个字符r-x代表同组其他用户对Hello文件的权限;最后三个字符人r-x代表普通其他用户对Hello文件的权限。

使用chmod指令可以修改调文件权限,rwx三个标志位采用8进制数进行标记,可读可写可操作标记为111,也就是十进制的7。如果我想让组内其他用户以及其他普通用户都拥有和book用户等价的权限,就可以:

注意chmod的其他语法:

切换到root用户:

6.find和grep命令

find 命令格式为: find 目录名 选项 查找条件

也可以使用通配符*查找所有相同结尾的文件:

通配符的意思就是忽略.txt前面的文件名称。

grep 命令的作用是查找文件中符合条件的字符串,其格式如下:
grep  [ 选项 ]   [ 查找模式 ]    [ 文件名 ]

例如:grep "abc" * -nwr

代表在当前目录下,递归地(r)查找全字匹配(w)的字符串“abc”,并且打印行数。

7.压缩和解压缩命令

在终端工具中输入如下命令:

dd if=/dev/zero of=test bs=1024 count=1024

效果和解析如下所示:

总而言之我们现在有了一个大小为1M的名为test的文件,它的内部都是二进制0。

那么压缩这个文件的基础命令是gzip。

这里使用了gzip -k,可以看到压缩前test占用1M字节内存, 而压缩后占用1056字节内存。

还有一条命令是bzip2:

可以看到bzip2压缩过后的文件大小只有45字节。

老师个人推荐使用tar命令,常用选项如下:

 使用案例:

解压命令为:

8.网络命令

咱们可以先ping一下百度官网看看Ubuntu能不能上网。

很明显能上,那么ctrl+c退出。如果不能上网的话,就需要一个nat网卡。

9.VI编辑器_新建_保存_浏览        

vi 是一个命令,也是一个命令行下的编辑器,它有如下功能:
1、打开文件、新建文件、保存文件
2、 光标移动
3、 文本编辑
4、 ( 多行间 | 多列间 ) 复制、粘贴、删除
5、查找和替换
vi 编辑器有三种模式 , 各个模式侧重点不一样:
a) 一般模式(光标移动、复制、粘贴、删除)
b) 编辑模式(编辑文本)
c) 命令行模式(查找和替换)
用法示例如下图所示,我们在桌面建立了一个新的2.txt文件。
接上图按下回车之后,我们进入了vi操作的一般模式,然后输入i(insert)进入编辑插入。下图就是把原本只有Hello World的文件插入了一些字符然后保存退出。

可以通过cat指令查看.txt的内容。现在刚开始学习Linux就要熟悉命令行,今天主包上班就因为MobaXterm用不明白,不会给车机主板替换py文件被主管吊了一顿。。。所以下班了还在充电。

如果我们错误地修改了部分内容想要直接退出vi不修改可以用:q!

注意退出插入编辑要按esc!

可以看到错误输入的内容并没有被保存。

在Vi工具中输入大写字母G可以跳到文件结尾。

在一般模式下:set number可以显示行号。

输入:250可以快速跳行

ctrl+f ctrl+b可以向前向后翻页,这里就不截图演示了。

10.VI编辑器_编辑

在一般模式下按下x和u分别可以删除选中的单个字母与撤销删除。详见手册如下,但个人感觉不如直接在一般模式下按下i进入编辑模式更直观。

11.VI编辑器_复制粘贴查找替换

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐