南京工程学院嵌入式系统复习提纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统复习
选择10’;填空20’;判断10’;5个简答30’;3大题:指令使用(LDMIA),组变量表变量;
1、ARM的寄存器 P32
通用寄存器:包括程序计数器PC、堆栈指针、其他通用寄存器
(1)不分组寄存器R0~R7:每种状态下都统一,注意不同模式下使用时的数据保护;
(2)分组寄存器R8~R14:
R8~R14为分组寄存器,对应的物理寄存器取决于当前的处理器模式;
R8~R12有两个分组的物理寄存器。除FIQ模式之外的所有模式(R8~R12),FIQ模式
(R8_fiq~R12_fiq),有利于加快FIQ的处理速度;
R13、R14分别有6个分组的物理寄存器。用于用户和系统描述,其余五组用于五种异常模式;
R13堆栈指针(SP),要初始化,指向该异常向量专用的栈地址;保护现场;
R14子程序链接寄存器(LR),功能:保存子程序返回地、设置为异常返回地址其他情况下R14
可作为通用寄存器使用。
(3)程序计数器R15(PC),指向当前指令的下两条指令的地址。
程序状态寄存器:任何模式下被访问,包含条件标志位、中断使能位、当前处理器模式标志、其他控制和状态位。
(1)标志域:
条件标志位:N符号、Z结果为0、C进位或借位、V溢出;
Q标志位:用于指示增强的DSP指令是否发生溢出;
J标志位:Jazelle状态。
(2)控制域:CPSR的低8位称为控制位,异常时变化。
运行模式控制位M[4:0]:控制处理器模式;
中断禁止位I、F:I=1时,禁止IRQ中断;F=1禁止FIQ中断;
T控制位:说明指令是ARM指令还是Thumb指令。
2、进程状态变换图 P178
3、C语言参数传递的是数组,实质传递的是什么P135 地址;(好像是,我蒙的)
4、堆栈的增长方向(两种),满堆栈和空堆栈 P52
堆栈:数据结构,先进后出堆栈指针总指向栈顶。
(按生成方式)递增堆栈:低地址向高地址生成;
递减堆栈:高地址向低地址生成;
(按指向位置)满堆栈:当堆栈指针指向最后压入堆栈的数据时;
空堆栈:当堆栈指针指向下一个将要放入数据的空位置时。
5、内存容量和地址总线、数据总线的关系。
存储器的容量= 2M × N
M=地址线根数
N=数据线根数
6、操作系统的常用调度算法 P178 (翻书看具体什么意思)
最短周期优先SBF、优先级法、轮转法、多队列轮转法和多级反馈队列法、实时调度算法。
7、信号量的操作 P207:信号量用于实现任务与任务之间、任务与中断程序之间的互斥和同步。创建
信号量、请求信号量、发送信号量、查询信号量状态。
8、文件系统的概念 P229:负责对文件进行存取和管理的一组系统软件。
功能:分配存储空间;回收存储空间归还给系统;提供接口函数。
9、ARM开关中断如何实现设置CPSR
10、LCD的控制方式 P107
总线驱动方式、控制器扫描方式
11、操作ARM的状态寄存器的指令 P66
读写配合使用,可实现对CPSR或SPSR寄存器的读修改写操作,可切换处理器模式,或者允许/禁止IRQ/FIQ中断。
读指令:MRS{cond} Rd,PSR
以取得程序状态寄存器当前值,可比较相应标志位了解当前CPU状态及工作模式。
写指令:MSR{cond} PSR_fields,Rm / MSR{cond} PSR_fields,immed_8r
PSR为CPSR或SPSR
fields 状态寄存器中需要设置的区域:c控制域、x扩展域、s状态域、f标志域
immed_8r要传送到状态寄存器指定域的立即数,8位
Rm 要传送到状态寄存器指定域的源寄存器
12、IO的编址方式 P103
I/O接口独立编址、I/O接口与存储器统一编址
13、ucOS的基本特征 P191
开源、可移植性好、可固化、可裁剪、占先式、多任务、可确定性、任务栈、系统服务、中断管理、稳定性与可靠性、易学易用、支持教学和科研。
14、MMU的功能 P98
地址转换、提供内存保护机制; (最好看一遍这页,有点印象就好)
15、JTAG的功能 P113
对PCB板上的芯片进行芯片功能测试和与其他芯片的互连接性测试。
16、ARM内核哪些使用哈佛结构,哪些是冯。诺依曼结构 P26
哈佛体系结构:ARM9、10、11系列;冯诺依曼体系结构:ARM7TDMI。
17、指针指向的目标有哪些 P142
常量、变量、函数都会在内存中占据存储空间,空间有地址,指针来表示地址,是存放地址值的变量或常量。定义指针变量时的数据类型并不是指针变量本身的数据类型,而是指针变量所指向的目标变量的数据类型。
18、如何理解进程、线程,结合Linux、WinCE、ucOS等 P175
进程:操作系统调度程序执行和分配系统资源的基本单位,系统进程和用户进程。
线程:操作系统调度程序执行的最小单位,是进程内部的一个执行控制流。
不同:调度和切换、执行过程、拥有资源、系统开销。
19、RISC,CISC嵌入式CPU的设计思路 P42
RISC:精简指令集; CISC:复杂指令集
RISC思想在ARM处理器设计中的体现:流水线、寄存器、指令集、Load/Store结构 (具体设计思路翻书)
20、嵌入式系统的调试方法及特点 P155
在线仿真器法(ICE):一种用于替代目标机上的CPU的设备。CPU有更多引脚,能将内部的信号输出到被控制的目标机,目标机不存在也能调试;
适用:调试实时的应用系统、设备驱动程序以及对硬件进行功能和性能的测试。
优点:实时性能分析;价格贵。
片上调试法(OCD):是CPU芯片提供的一种调试软件功能。
优点:不占用目标机资源;调试环境与最终程序运行环境基本一致;支持软硬断电、跟踪、精确计量程序的执行时间、时序分析;
缺点:实时性没ICE强、不支持非干扰调试查询、CPU必须具有OCD功能;实现标准不唯一。
模拟器法:在宿主机上模拟出一个虚拟目标机的硬件环境。指令级模拟器:相当于在宿主机上虚拟一台目标机;系统调用级模拟器:相当于在宿主机上安装目标机的操作系统,基于目标机操作系统的应用程序在宿主机上虚拟运行。
优点:可在没实际的目标机环境时开发其应用程序,并可在调试时李勇宿主机的资源来提供更详细的错误诊断信息。实时性差,不能模拟所有设备。
21、ARM如何响应异常 P37
(1)将下一条指令地址存入相应的异常模式的链接寄存器LR;
(2)复制CPSR寄存器的内容至对应模式下的SPSR_
(3)设置CPSR寄存器的一些控制位;
(4)将程序计数器PC设置为异常向量的地址。
22、uC/OS-II的移植条件 P213
(1)目标处理器的C编译器能产生可重入代码;
(2)在程序中用C语言就可以打开和关闭中断;
(3)处理器支持中断且能产生定时中断;
(4)处理器支持能够容纳一定量数据的硬件堆栈;
(5)处理器具有将栈指针和其他CPU寄存器存储、读出到栈的指令。
23、LDMIA指令好像是P53 翻书看,这是大题;
LDM:多寄存器加载
IA :每次传送后地址加4
24、uC/OS-II使任务就绪的代码,如何用组变量、表变量表示任务的就绪情况 P198 大题
OSRdyGrp |= OSMapTbl[Prio >> 3];
OSRdyTbl[Prio >> 3] |= OSMapTbl[Prio & 0x07];
25、嵌入式系统中使用查询方式的原因 (这题我猜选C)
A. 速度最快。
B. CPU可以不介入。
C. 实现起来比较容易。
D. 在对多个事情查询工作时,能对突发事件做出实时响应。
26、ARM内核状态寄存器的个数及名字 P32