第一章
1. 从计算机技术应用的角度(嵌入式系统的定义)(背)(书P1)
嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可减裁,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
2. 嵌入式系统特点(理解)(书P2)
专用性强、系统精简、软件代码固化存储、要求高可靠性、需要专门的开发工具和环境
3. 图1-2嵌入式系统应用领域(理解)(书P5)
4. 图1-3嵌入式系统开发流程(书P7)
第二章
1. 指令流水线技术(书P11)
ARM采用多级流水线技术,以提高指令执行的效率;ARM7采用冯·诺伊曼体系结构的3级指令流水线;ARM9TDMI采用基于哈佛体系结构的5级指令流水线技术;ARM10采用6级指令流水线。
2. ARM Cortex-M3/R4/A8字母含义?(表2-3)(书P13)
A—面向性能密集型系统的应用处理器内核;(顶级)
R—面向实时应用的高性能内核;
M—面向各类嵌入式应用的微控制器内核;(低端)
3. 处理器的两种工作状态及状态切换方法(书P13)
(1)ARM状态:执行32位字方式的ARM指令。
(2)Thumb状态:执行16位半字方式的Thumb指令。
① ARM→Thumb:当操作数寄存器Rm的状态位bit[0]为1时,执行BX Rm指令进入Thumb状态。
② Thumb→ARM:当操作数寄存器Rm的状态位bit[0]为0时,执行BX Rm指令进入ARM状态。当处理器进行异常处理时,则从异常向量地址开始执行,系统将自动进入ARM状态。
4. 存储格式举例(大端、小端)(书P15)⭐
例题:(以小端格式存放),以下代码存放到R0的数据是0x12345678
5. ARM处理器工作模式(书P15)
(不用背有哪7种模式,只需知道每种模式在干什么)
① 用户模式:正常用户模式,程序正常执行模式。
大多数的用户程序是运行在用户模式下。
② FIQ:处理快速中断,支持高速数据传送或通道处理。
③ IRQ:处理普通中断。
④ SVC:操作系统保护模式,处理软件中断(SWI)。
⑤ 中止:处理存储器故障、实现虚拟存储器和存储器保护。
⑥ 未定义:处理未定义的指令陷阱,支持硬件协处理器的软件仿真。
⑦ 系统:运行特权操作系统任务。
6. ARM状态下的寄存器构成(书P16)
37=31(通用寄存器)+6(状态寄存器)
7. CPSR的位结构(书P18) (不考)
① 4个条件代码标志:负(N)、零(Z)、进位(C)、溢出(V);
② 2个中断禁止位(7、6),分别控制一种类型的中断;
③ 5个对当前处理器模式进行编码的位(0-4);
④ 1个用于指示当前执行指令(ARM/Thumb)的位(5);
7(I):为1时IRQ(普通中断)中断被禁止,为0时IRQ中断允许;
6(F):为1时FIQ(快速中断)中断被禁止,为0时FIQ中断允许;
5(T):1时为Thumb状态,0时为ARM状态;
0-4(M0-M4)模式位:从ARM处理器的7种工作模式中选;
8. Thumb状态下的寄存器的构成(书P19)
(Thumb状态LR映射到ARM状态R14)
SP→R13; LR→R14;PC→R15(PC)
9. ARM进入异常(背)(书P21)
在异常发生后,ARM内核会做以下工作:
(1)在LR中保存下一条指令的地址,当异常入口来自ARM状态,那么ARM将当前指令地址加4或8复制(取决于异常的类型)到LR中;当异常入口来自Thumb状态,那么ARM将当前指令地址加2、4或加8(取决于异常的类型)复制到LR中。
(2)将CPSR复制到适当的SPSR中。
(3)将CPSR模式位强制设置为与异常类型相对应的值。
(4)强制PC从相关的异常向量处取值。
ARM内核在中断异常时置位中断禁止标志,这样可以防止不受控制的异常嵌套。
10. 图2-6微处理器组成框图(书P25)
(问:某某部件在哪个总线上?)
总线:AHB、APB。
通用异步收发器(串行通信)(UART 0,1,2)、看门狗定时器(WDT)、实时时钟(RTC)、串行外设接口(SPI 0,1)(串行通信)、内部集成电路总线(串行通信)(IIC)→APB总线
第三章
1. 寄存器移位寻址(书P33)
LSL(逻辑左移)、LSR(逻辑右移)
MOV R0,R2,LSL #3; R2左移3位赋给R0
R0是R2的8倍(2的三次方) (左移是×,右移是÷)
2. 数据定义(书P52)
SPACE 可用“%”代替;作用:用于分配一片连续的存储单元并初始化位0。
MAP 可用“^”代替;作用:用于定义一个结构化的内存表的首地址。
LTORG(伪指令):汇编器在代码中使用文字池来存放一些常量数据。
3. 计算1+2+…+N代码编写 (不考)
N EQU 10
AREA Example,CODE,READONLY
ENTRY
CODE32
START
LDR R0,=N
MOV R2,R0
MOV R0,#0
MOV R1,#0
LOOP
CMP R1,R2
BHI ADD_END
ADD R0,R0,R1
ADD R1,R1,#1
B LOOP
ADD_END
B START
END
4. 解释每条指令的意思 ⭐
第四章(无内容)
第五章
1. 锁相环(书P80)
2个锁相环:MPLL和UPLL
MPLL作用:MPLL输出信号Mpll频率改变,从而改变FCLK频率值。
2. FCLK、HCLK、PCLK的关系(书P82)
由CLKDIVN控制寄存器确定FCLK、HCLK、PCLK之间的分频比例。
3. PWM定时器(书P89)
PWM(pulse width modulation):脉冲宽度调制,通过对波形的脉冲的宽度进行控制,产生所需占空比的波形。
4. 大概记住表5-18(书P99)
(考试时提供英文表格)
5. 看门狗的作用(书P98)
防止程序发生死循环,或者说防止程序跑飞。
6. 记例5-2!(书P101);⭐
(不要求写完整代码,要求会填空)(注释也要看)
(重点看蓝色部分!)
7. 计算看门狗定时时间(书P98)
第六章
1. S3C2440A的存储控制器特性(书P109)
存储空间分为8个banks(体),
每个bank有128M字节空间,
全部可寻址地址空间总共1GB;
使用nGCS0-nGCS7作为对应各bank选择信号。【1G需要30根(2的30次方)地址线,128M需要27根。用3根(30-27=3)作bank的8个选择信号】
除了bank0(数据宽16或32位)之外,其他全部bank都可编程访问,宽度可以为8、16或32位。
2. Flash存储器(背)(书P110)
① Flash特点:
(1)非易失型 (2)易更新性 (3)成本低、密度高、可靠性好
② Nor Flash(或非型闪存)特点:
容量小、价格贵、可靠性高、寿命短、读速快。系统可直接在Nor Flash运行指令,用于启动和引导系统。主要用于存放启动代码。
③ Nand Flash(与非型闪存)特点:
容量大、价格低、寿命长、写速快。而Nand Flash不能用于主存,只能按扇区读写,可以用作小硬盘。主要用于存放数据和程序。也可以从Nand Flash启动和引导系统,在SDRAM上执行主程序。
④ 两种Flash接口区别:
Nor Flash带有SRAM接口,而Nand Flash没有,因此Nor Flash可直接读出执行指令。
⑤ SDRAM(同步动态随机存储器)
作用:利用一个单一的系统时钟同步所有的地址、数据和控制信号,使得SDRAM能够与系统工作在相同的频率上。
⑥ 存储区
bank6和bank7用作SDRAM存储区
bank0用作Nor Flash 、Nand Flash存储区
第七章
1. I/0接口的特点(书P131)
大部分I/O口是复用的,可以单独被配置为输入模式、输出模式或功能模式。
2. 写代码(填空),参考7-1、7-2(书P141)、7-5(书P161)⭐
4个公式:
ps:判断 x 端口的某引脚上连接的 LED 灯亮或者灭
rGPxDAT &=~(0x1<<引脚号);灯亮
或者 rGPxDAT =0x0;
rGPxDAT |=(0x1<<引脚号); 灯灭
或者 rGPxDAT =0xffff;
3. 仲裁器、中断优先级(书P146)
32个中断请求优先级逻辑包括:
6个一级仲裁器和1个二级仲裁器(共7个)。
其中仲裁器的REQ0的优先级最高,REQ5优先级最低。
4. 中断模式寄存器INTMOD(书P149)
INTMOD:有多位可被设置为0;仅1位可被设置为1。
第八章
1. 图8-1 UART数据帧的结构(背)(书P163)
2. 错误容忍率计算题(书P165-P166)⭐
如果错误容忍率太高:
则 选择较低的波特率 或 提高输入时钟频率
第九章(无)
第十章
1. 交叉编译环境(书P206)
PC机系统通常被称为宿主机(程序开发);
运行程序的ARM目标平台就称为目标板(程序运行)。
2. 交叉编译器(书P207)
使用arm-linux-gcc交叉编译器。
3. 编译时的基本命令(书P207)
cd(回到用户目录下)、mkdir、touch…
4. LINUX设备驱动概述(书P216)
① 作用
设备驱动是应用程序与硬件之间的一个中间软件层,充当了硬件和应用软件之间的纽带,它使得应用软件只需要调用系统软件的应用编程接口(API)就可让硬件去完成要求的工作。
② 编写需考虑的问题
提供尽量多的选项给用户,提高驱动程序的速度和效率,尽量使驱动程序简单,使之易于维护。
5. 使用编译器生成可执行文件的步骤
① 预处理,产生 .i 文件
② 编译,产生汇编文件( .s 文件)
③ 汇编,产生目标文件( .o 或 .obj 文件)
④ 链接,产生可执行文件( .out 或 .exe 文件)