学习嵌入式的第一天
加油,成为一名出色的嵌入式工程师。
一、什么是嵌入式?
今天之前,通过我以前对嵌入式的接触与认识,对嵌入式的认识就是通过Linux操作系统来驱动一些硬件。也就是用一句话介绍嵌入式所说“用软件驱动硬件”。
在今天的学习,我知道了IEEE对嵌入式的定义——IEEE: “Device used to control, monitor, or assist the operation of equipment,machinery or plants”.
总的来说嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
应用也就是我要开发这个的目的,主要是为了来完成什么任务;而计算机技术又分为硬件和软件。硬件部分又CPU、存储器、控制器、输入设备、输出设备。软件主要是嵌入式操作系统。相比于通用计算机,嵌入式更像是为了某项任务而量身定做。
嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。包含有计算机,但又不是通用计算机的计算机应用系统。
二、Linux系统怎么来的?
1、操作系统发展简史
- 1946 年诞生第一台计算机 ENIAC。
- 1969 年开发出UNIX操作系统,最初用 B 语言编写;之后 C 语言被创造出来,并用 C 语言重写 UNIX。早期 UNIX v6 是闭源的。
- 开源理念兴起:
- GNU 组织:口号
GNU is not UNIX!,开源开发了很多工具,例如gcc编译器、EMACS 编辑器,但缺少操作系统内核。 - Minix:小型类 Unix 系统。
- 林纳斯(Linus)参考 Minix,开发出Linux 内核,采用开源协作开发模式。
- GNU 组织:口号
完整的操作系统 = GNU 工具软件 + Linux 内核,常叫 GNU/Linux。 Android、鸿蒙底层都使用 Linux 内核。
2、闭源系统 vs 开源系统
- Windows / Mac OS:闭源,需要收费,源代码不公开。
- Linux:开源,免费使用,需要遵守开源协议。
3、Ubuntu 和 Linux 内核的核心关系(重点)
- Linux:仅仅指Linux 内核,是操作系统最核心部分,负责管理硬件、进程、内存。
- Ubuntu(乌班图):属于Linux 发行版。
公式:Linux 内核 + GNU 工具 + 桌面图形系统 + 各类应用软件 = Ubuntu 操作系统(iso 镜像)
简单一句话:Linux 内核是 Ubuntu 的心脏,Ubuntu 是打包好、可以直接安装使用的一套完整操作系统。
4、其他常见 Linux 发行版
- RedHat、CentOS、Kali(偏向网络安全运维)
5、Ubuntu 版本规则
- 每年发布 2 个版本:4 月、10 月
- 每 2 年推出LTS 长期稳定支持版
三、Linux入门学习总结
1.Linux 基础概念
1. 命令的基本格式。Linux 命令遵循统一格式:命令 [选项] [参数],命令、选项、参数之间至少有一个空格。例如 ls -a / 中,ls 是命令,-a 是选项,/ 是参数。
2. 目录与文件系统。Linux 中“目录”就是 Windows 下的“文件夹”。两者的硬盘管理方式不同:Windows 每个盘符(C 盘、D 盘…)各是一棵树;而 Linux 整个系统只有一棵“倒着的树”,所有路径都挂在根目录 / 下面。
路径中第一个 / 表示所有路径的起点(根目录),后续的 / 都只是目录分隔符。例如 /home/linux 表示“根目录下的 home 目录下的 linux 目录”,也就是当前用户 linux 的主目录(家目录)。
3. 用户主目录与 ~。~ 代表用户主目录,对当前用户 linux 来说就是 /home/linux;直接输入 cd 默认效果就是“回家”,回到主目录。
4. 存储单位换算。1 Byte = 8 个二进制位(bit);1024 Byte = 1 KB;1024 KB = 1 MB;1024 MB = 1 GB;1024 GB = 1 TB。电脑硬盘常用 TB 计量,内存常用 GB 计量。
5. 用户权限与 sudo。普通用户只在自己家目录下拥有最大权限;一旦出了家目录,进行创建、修改等操作就需要超级用户权限,可用 sudo 临时切换为超级用户(有时效)。
6. 虚拟机使用建议。虚拟机不用时建议“挂起”而不是关机,下次使用时可以直接恢复。
2.常用命令
本节课共学习 9 个常用命令。
表1 常用命令速查表
|
命令 |
功能 |
常用形式与示例 |
|
pwd |
打印当前工作目录 |
pwd → 显示 /home/linux |
|
ls |
查看指定目录下的内容 |
ls /(看根目录);ls(看当前目录);ls -a(含隐藏文件,名字以 . 开头);ls -l(详细信息);ls -lh(大小换算为 KB/MB/GB) |
|
cd |
切换目录 |
cd 目录名;cd ~ 或直接 cd(回主目录);cd .(当前目录);cd ..(上一级);cd -(上一次操作的目录) |
|
touch |
创建空白文件 |
touch 123.txt(当前目录);touch /home/linux/123.txt(指定路径) |
|
mkdir |
创建目录 |
mkdir abc(在当前位置创建目录 abc) |
|
cp |
复制文件/目录 |
cp 源文件 目标文件;目标可写成目录名(复制到该目录)或“目录名/文件名”;复制目录需加 -r(递归) |
|
mv |
移动/重命名 |
mv 源 目标;移动后源文件不存在(对比 cp),常用来重命名 |
|
rm |
删除 |
rm 1.txt(删普通文件);rm 123dir -r(删目录需加 -r) |
|
cat |
查看文件内容 |
cat 文件名 |
用 ls -l 查看详细信息时,输出从左到右依次为:文件类型+权限、硬链接数、所有者名字、所属组、文件大小(字节)、文件最后被修改的时间、文件名。以 -rw-rw-r-- 1 linux linux 0 9月14 14:07 123.txt 为例:
表2 ls -l 输出字段解读
|
字段 |
含义 |
示例值 |
|
-rw-rw-r-- |
文件类型+权限 |
第一个字符 - 表示普通文件,后 9 位是权限 |
|
1 |
硬链接数 |
1 |
|
linux |
所有者名字 |
linux |
|
linux |
所属组 |
linux |
|
0 |
文件大小(字节) |
0 字节 |
|
9月14 14:07 |
文件最后被修改的时间 |
9月14 14:07 |
|
123.txt |
文件名 |
123.txt |
路径分为两种:相对路径形式上看不以 / 开头,以当前位置为参考起点;绝对路径以 / 开头,以根目录为参考起点。例如 touch 123.txt 用的是相对路径(创建在当前目录),而 touch /123.txt 用的是绝对路径(创建在根目录下)。
3.vi/vim 编辑器
vi/vim 是 Linux 下类似 Windows 记事本的文本编辑工具,功能更强大。它有三种模式:命令模式(打开文件后默认进入,此模式下不能编辑文字)、插入模式(可编辑文字)、底行模式(执行保存、退出等命令)。

图2 vi/vim 三种模式转换示意图
基本操作流程:vi 文件名 进入 vi(命令模式)→ 按 i 进入插入模式 → 编辑文字 → 按 ESC 回到命令模式 → 按 shift+: 进入底行模式 → 输入命令回车。底行模式常用命令:w 保存、q 退出、wq 保存并退出、wq! 强制保存退出、q! 强制退出(不保存),其中 ! 表示强制操作。
复制与剪切(均在命令模式下):yy 复制光标所在行,配合 p 粘贴;myy 复制从光标开始的 m 行,np 粘贴 n 份。dd 剪切(删除)光标所在行,配合 p 粘贴;mdd 剪切 m 行,np 粘贴 n 份。
删除:dd 删除一行;ndd 删除 n 行;gg 来到第 1 行;G(shift+g)来到最后一行;gg+d+G 删除全部内容。
选中操作:按 shift+v 进入行选中(按一下 y 复制、按一下 d 删除,配合 p 粘贴);按 ctrl+v 进入块选中,同样用 y/d/p 操作。
撤销与反撤销:u 撤销上一步操作;ctrl+r 反撤销。
4.Linux 下 C 语言编程流程
Windows 下常用 dev C++ 这类 IDE(集成开发环境)完成写代码、编译、运行、调试;Linux 下则用四个独立工具分步完成:
1. 编辑代码:vi/vim。例如 vi hello.c 打开(或新建)源文件进行编辑。
2. 编译代码:gcc(GNU 的 C 语言编译器)。例如 gcc hello.c,生成的可执行文件默认叫 a.out。
3. 运行代码:./a.out。./ 表示当前目录,即运行当前目录下的可执行文件 a.out。
4. 调试代码:gdb(调试工具)。
总结
本次课程我系统学习了嵌入式行业认知、Linux发展史、基础命令操作及Linux下C语言开发相关知识,收获颇丰,也对嵌入式行业有了全新、清晰的认知。
当下AI快速迭代,多数行业初级岗位竞争激烈甚至被替代,而嵌入式作为软硬件结合、用软件控制硬件的核心技术方向,应用场景广泛,涵盖扫地机器人、人形机器人、物理AI等领域,就业稳定性更高。嵌入式系统是以应用为中心、计算机技术为基础,软硬件可裁剪,对功耗、体积、成本、可靠性有严格要求的专用系统。同时我明确了嵌入式完整学习路线,也确立了自主实操、合理借助AI辅助学习的学习理念。
课程中我了解了Linux的发展历程,区别于闭源收费的Windows,Linux开源免费、适配性极强,安卓、鸿蒙系统底层均基于Linux内核。Ubuntu是主流Linux发行版,依靠VMware虚拟机即可搭建开发环境,满足嵌入式开发需求。
实操方面,我熟练掌握了Linux基础命令,熟悉pwd、ls、cd、touch、mkdir、cp、mv、rm等常用指令,分清了绝对路径与相对路径的区别,掌握sudo临时提权的使用场景。同时掌握了vi/vim编辑器的三种工作模式,熟练运用复制、剪切、粘贴、撤销等操作,了解了保存退出等基础底行命令。
最后,我掌握了Linux环境下C语言开发流程,即vim写代码、gcc编译、终端运行、gdb调试。本次学习夯实了嵌入式入门基础,后续我会多加实操练习,巩固命令操作与开发技巧,稳步推进后续嵌入式深度学习。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)