一、考试题型
填空25分,选择20,简答20分,编程20分,操作15分。

二、考试内容

(一)概述

1.1嵌入式的介绍

1.1.1定义、特点、分类

1、嵌入式系统的定义:嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统
2、嵌入式系统的特点:嵌入性、专用性、计算机系统
3、嵌入式系统的分类:按形态的差异分为芯片级、板级、设备级

1.1.2嵌入式系统的经典组成

4、BSP的中文含义是板级支持软件包,SoC的中文含义是片上系统
image.pngimage.png
image.pngimage.png

(二)体系结构

2.1Cortex-A8处理器工作模式

1、Cortex-A8采用ARMv7构架。
2、Cortex-A8的工作模式:用户模式(User),系统模式(System),管理模式(Supervisor),外部中断模式(IRQ),快速中断模式(FIQ),数据访问中止模式(Abort),未定义指令中止模式(Undefined),安全监控模式(Monitor)。除了用户模式和系统模式之外其余六种称为异常模式。
image.pngimage.png

2.2Cortex-A8处理器状态

3、Cortex-A8的工作状态:ARM状态、Thumb状态、ThumbEE状态
4、Cortex-A8是32位处理器,半字为16位,双字为64位。
image.png

2.3Cortex-A8存储器管理

2.3.1大/小端储存模式

5、存储系统的低地址中存放字节内容,高地址中存放字节,称为小端模式。
9、ARM存储系统具有大端格式和小端格式两种数据存放格式。
image.png

2.3.2寄存器组

6、Cortex-A8共有40个32位寄存器,包括33个通用寄存器和7个状态寄存器,其中状态寄存器包括1个CPSR和6个SPSR。CPSR是当前程序状态寄存器,SPSR是程序状态保存寄存器

image.png

通用寄存器组

7、Cortex-A8的R13常作堆栈指针(SP),R14为子程序链接寄存器(LR),R15为程序计数器(PC)。
8、Cortex-A8未分组的通用寄存器有R0~R7,分组的通用寄存器有R8~R15。
image.png
image.png

(三)指令系统

1、ARM指令的基本格式:< opcode > {< cond >} { S } < Rd >, < Rn >, < shift_operand >
Opcode 操作码,即指令助记符,如MOV、SUB、LDR等
cond 条件码,描述指令执行的条件
S 可选后缀,指令执行成功完成后自动更新CPSR寄存器中的条件标志位
Rd 目的寄存器
Rn 存放第1个操作数的寄存器
shift_operand 第2个操作数,可以是寄存器、立即数等
2、条件码:两个字母
EQ Z=1 相等 NE Z=0 不相等
CS/HS C=1 无符号数大于或等于 CC/LO C=0 无符号数小于
MI N=1 负数 PL N=0 正数或零
VS V=1 溢出 VC V=0 没有溢出
HI C=1,Z=0 无符号数大于 LS C=0,Z=1 无符号数小于或等于
GE N=V 有符号数大于或等于 LT N!=V 有符号数小于
GT Z=0,N=V 有符号数大于 LE Z=1,N!=V 有符号数小于或等于
AL 任何 无条件执行 (指令默认条件) NV 任何 从不执行(不要执行)
3、寻址方式
立即寻址、寄存器寻址:MOV R0,#0xFF00
寄存器偏移寻址:MOV R0,R2,LSL #3
寄存器间接寻址:LDR R1,[R2]
基址或变址寻址:LDR R2,[R3,#0x0C]
多寄存器寻址:LDR R1!,{R2-R4,R6}
堆栈寻址:满递增,空递增,满递减,空递减
块拷贝寻址:STMIA R0!,{R1-R7}
相对寻址:BL SUBR1
4、常用指令
B 标号:转移
BL 标号:子程序调用(PCàR14,可返回)
BX 标号:转移,并并由ARM状态切换到THUMB状态。
BLX 标号:子程序调用,并由ARM状态切换到THUMB状态。
MOV:数据传送
ADD:加法
ADC:带进位加法
SUB:减法
SBC:带借位减法
AND:与
ORR:或
EOR:异或
CMP:比较(减)
TST:测试(与)
MRS:程序状态字传送给寄存器
MSR:寄存器传送给程序状态字
LDR:加载,存储单元传送给寄存器
STR:存储,寄存器传送给存储单元
(四)S5PV210及接口
1、S5PV210:又名“蜂鸟”,由三星公司推出,采用ARM Cortex-A8内核,ARM V7指令集,主频可达1GHZ,64/32位内部总线结构,32/32KB的数据/指令一级缓存,512KB的二级缓存,可以实现2000DMIPS(每秒运算2亿条指令集)的高性能运算能力,丰富的外设。
2、S5PV210接口:SRAM/ROM/NOR接口、OneNAND闪存接口、NAND接口、LPDDR1接口、DDR2接口。
3、GPIO接口:通用编程I/O端口,S5PV210共有237个GPIO端口,分成15组。

(五)嵌入式Linux

2、嵌入式Linux主要由引导程**序、内核、驱动程序、文件系统四部分组成。
引导程序**

5.1ARM-Linux内核

1、嵌入式LINUX的内核有五个组成部分,它们进程调度、内存管理、虚拟文件系统、网络接口、进程通信
image.png
3、BootLoader的主要功能:初化化系统、加载和引导操作系统

5.1ARM-Linux文件系统

4、ARM-Linux采用的文件系统是VFS
(六)应用
1、嵌入式开发主机上一般需要安装集成开发环境、Flash编程器和串口仿真三种软件。
2、在嵌入式交叉开发环境中,开发计算机称为宿主机,嵌入式设备称为目标机。
3、基于ARM的嵌入式开发环境的基本组成:宿主机及集成开发环境、JTAG仿真器、目标机、Flash编程器、串口线、并口线、网线、JTAG线等。
4、ARM有3种方式控制程序的执行流程方式:正常顺序执行、通过跳转命令跳转到特定的标号处、异常处理。
5、嵌入式系统的设计步骤:需求分析、体系结构设计、硬件/软件设计、系统集成和系统测试。
6、试用汇编语言编写程序,在ARM状态下对R3赋值0x11223344,在Thumb状态下将R3扩大4倍。