【随手笔记】嵌入式综合考试重点

1、寄存器的寻址方式一般来有七种基本寻址方式:
立即寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址加变址寻址方式、相对基址加变址寻址方式等。
后5种的寻址方式是确定内存单元有效地址的5种不同的计算算法,实现对数组元素的访问!
1)立即寻址方式:MOV AH, 80H
2)寄存器寻址方式:MOV AX, BX
3)直接寻址方式:MOV BX,[1234H]
4)寄存器间接寻址方式:MOV BX,[DI]
5)寄存器相对寻址方式:MOV BX, [SI+100H]
6)基址加变址寻址方式:MOV BX, [BX+SI]
7)相对基址加变址寻址方式: MOV AX, [BX+SI+200H]
举个栗子:有一条指令
"LDMIA R0!, {R1,R2,R3,R4} 多寄存器寻址

2、CISC复杂指令集 RISC 精简指令集
日常生活中Intel,AMD的x86 CPU就是采用CISC复杂指令集
日常生活中华为手机,鲲鹏处理器,CPU就采用RISC精简指令集
RISC只有LOAD/STORE操作内存

3、Linux常用的命令:cp、ls、cat、tar、mv、chmod、file
如果你在根目录下操作,删除一个文件,需要root去操作!
如果你执行一个命令的时候,执行不了,文件权限不足以你去操作,我去修改这个文件的权限!
显示用户的主目录: echo
Linux谁创造出来的,创造者名字肯定跟Linux有点搭边!Linus Tor

4、UBOOT属于BootLoader的一种,是用来引导启动内核的,最终目的是从flash中读出内核,放到内存中,启动内核!
板子上电之后,自动把uboot一部分代码拷贝到内存中运行,剩余uboot代码拷贝到内存中,然后uboot把kernel部分代码拷贝到内存中,启动之后,挂着根文件系统,执行应用程序!
UBOOT的启动的大体过程:
1、第一阶段主要工作是硬件初始化
2、1)从flash中读出内核;2)启动内核
UBOOT主要作用:
1、用来启动操作系统内核
2、负责部署整个计算机系统
3、操作flash等板子上硬件驱动,串口之类
4、提供命令行界面给人操作
UBOOT必须解决哪些问题?
1、自身可开机直接自启
2、能够引导操作系统内核并给内核传参
3、提供系统部署功能
4、进行SoC级和板级硬件管理
5、uboot的生命周期
总而言之:UBOOT就是为了启动内核!!!

5、数据结构的栈的知识点
了解栈的存储结构的方式有哪些:
链式存储、顺序存储
栈的链式存储的话,在栈顶指针前面插入一个数据

6、嵌入式设计处理器本身接口:串口、AD/DA、并行接口
PCIE这个接口不是嵌入式设计处理器本身的接口!!!

7、Linux根文件目录
/bin 二进制可执行命令的目录
/dev 存放设备文件的目录
/etc 系统管理和配置文件目录
/lib 标准程序设计库目录,又叫动态链接共享库
/home 用户的主目录
/sbin 系统管理命令,存放是管理使用的管理程序
/tmp 公用的临时文件存储点
/root 系统管理员目录
/mnt 系统提供这个目录用来挂载其他文件系统的
/usr 要用到应用程序和文件几乎在这个目录里
/var 某些大型文件溢出去目录,如系统日志
登录Linux系统后,先进入自己的用户目录,这个目录在/home下

8、C/C++预处理器相关知识点!
C/C++编译系统编译程序过程为预处理、编译、汇编、链接
预处理指令一般是以#开头标识
C/C++提供的预处理功能主要由文件包含、宏替换、条件编译等
文件包含:
#include <stdio.h>,
#include “helloh”
宏定义:
#define NMAE “ADASA”
函数调用在程序运行时实行,宏展开是在编译的预处理阶段 gcc -E helloc -o helloi
预处理后文件后缀名 i格式

预定义宏:DATE

条件编译:
#if
#ifdef
#else
#endif
不常用的预处理指令:
#pragma

9、寄存器相加、相减
举个栗子:把寄存器R1, R2的值相加后存到R0
ADD R0, R1, R2
把寄存器R2,R3的值相减后存到R1
SUB R1, R2, R3

10、Linux多进程、管道、消息队列等知识点
1)进程一般怎么创建的, fork()
父进程fork成功的话返回子进程的进程ID,不成功返回错误!
子进程,如果fork成功话返回值是0

2)管道PIPE:半双工的通信方式,数据只能单向流动,比如父子进程

3)命名管理FIFO,半双工的通信方式,允许无亲缘关系进程间通信

4)消息队列MessageQueue:是由消息链表,存在在内核中并由消息队列标识符标识

5)共享内存SharedMemory:映射一段能被其他进程访问的内存

6)信号量Semaphore:信号量是一个计数器,可以控制多个进程对共享资源的访问

7)套接字socket,也是一种进程间通信机制

8)信号sinal,信号可以在任何时候发给某一进程,无须知道该进程状态
举个栗子:ls -l |more 适用于管道!

11、SRAM DRAM的区别?
SRAM 静态随机访问存储器 DRAM动态随机存取存储器
SRAM比我们的DRAM速度要快!
SRAM比我们的DRAM耗电要低!
SRAM比我们的DRAM存储密度低!

12,处理器指令的相关知识点!
拿ARM7来看,取指、译码、执行,三级流水线

13、GCC编译相关知识点
1)预处理阶段 gcc -E helloc -o helloi
2)编译阶段 gcc -S helloi -o hellos
3)汇编阶段 gcc -c hellos -o helloo
4)链接阶段 gcc helloo -o hello

14、ARM:是一家公司名字、也是一个技术名称、对一类微处理器的通称!

15、赋值运算符<逻辑运算符<关系运算符<算术运算符

举个栗子:判断一个字符是大小还是小写,
ch>‘a’ && ch<‘z’

vi/vim编译器相关操作:
保存 :wq :x
不保存 :q!
continue 和 break

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

农民真快落

我琢磨着也没人给我打赏呀。。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值