开始嵌入式学习
学习,需注意:
1、笔记。电子版(方便增加,记录留存),纸质版(记关键字,框架)
2、先听懂再记笔记。
3、复习。查漏补缺,找出不懂的问题点,补全笔记。
一些基本概念:
- 编译环境
虚拟机:模拟出来的一个完整的硬件系统的功能,运行在PC上,运行在完全隔离的环境中的计算机系统。使用的是windows的一部分硬盘和内存。
Linux:是内核,只有内核没办法交互。
GUN:软件项目组
- 认识终端
linux@ubuntu:~$ 命令提示符
Linux:用户名
@:分隔符
Ubuntu:用的linux的发行版本
:无意义
~:家目录(/home/linux),所有的工作都在这下面进行
$:代表用户的属性是普通用户。 还有超级用户 #
- Linux与windows系统的区别
- 磁盘分区(/home/linux)
- 操作方式(指令,鼠标拖拽)
- 大小写(区分大小写)
- 路径(斜杠/)
- 基本指令
- 进入文件夹(cd 文件夹名)
- 返回上级目录(cd ../)
- 创建文件夹(mkdir 文件夹名);创建多个文件夹(mkdir -p 文件夹1 文件夹2 …)
- 创建文件(touch 文件名)
- 查看文件夹内文件(ls)
- 拷贝(cp 源文件 目标文件)
- 移动(mv 文件名 路径)
- 删除(rm 文件名);删除空文件夹(rmdir 空文件夹名);删除有文件的文件夹(rm -r 文件夹名)
- 重命名(mv 文件名1 文件名2),注意文件名2应不存在
- 查看路径(Pwd)
- 普通用户切换超级用户(su);超级用户切换普通用户(exit)/(“ctrl+d”)
- 编辑.c文件(vi 文件名)
- Vim编辑器
- 三种模式
插入模式:可编写代码
命令行模式:可进行复制(yy)、粘贴(p)、删除行(dd),回退(u),撤销回退(“ctrl+r”)
底行模式:可设置行号(set nu)、不设置行号(set nonu)、保存(w)、退出(q),强制退出(x)、替换(%s/原字符/目标字符/g)
命令模式切换到插入模式:a/i/o
插入模式切换到命令行模式:“Esc”
命令行模式到底行:“:”
- Gcc 编译器
Gcc XXX.c(将XXX.c文件经过预处理、编译、汇编、链接这四步生成了a.out文件)
一般将前三部分放在一起,单独编译不链接(预处理、编译、汇编)
1.预处理:将c源文件编译为c文件,展开头文件,去掉注释,发生宏替换
2.编译:将c文件编译为汇编文件
3.汇编:将汇编文件编译为机器文件
当gcc一个新文件时,a.out会被覆盖,所以可以使用(Gcc XXX.c -o 文件名)自定义一个可执行文件
运行a.out可执行文件(./a.out)
- 计算机的组成结构
输入设备、输出设备、存储器(内存和外存)、CPU(寄存器、运算器、控制器)
运行a.out的过程:
①当输入设备输入a.out之后;
②将外存中的a.out向内存拷贝;
③CPU中的控制器从内存中读指令;
④将读取的指令存在CPU的寄存器中;
⑤CPU执行指令,将结果输出到输出设备上。
- 进制转换
二进制(B)
八进制(O)
十进制(D)
十六进制(H)