南工大嵌入式系统参考复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM嵌入式系统设计参考复习题(2017-11)
主要知识点:
第一章
1.嵌入式系统:
“以应用为中心,以计算机技术为基础,软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统”
根据应用的要求,沿着“体积小、低功耗、高可靠”方向发展,对运算速度、存储容量没有统一要求。三要素:嵌入、专用、计算机。
2.嵌入式系统有哪些部分组成?
一般由硬件层,中间层(HAL或BSP)和软件层组成。
粗略划分:嵌入式处理器、外围设备、嵌入式操作系统(可选)、嵌入式应用软件
稍细划分:嵌入式处理器、外围设备、驱动程序、嵌入式操作系统、应用接口、嵌入式应用软件
3.嵌入式系统特点:①系统内核小②专用性强③系统精简④高实时性。
4.嵌入式处理器的分类:
嵌入式微处理器(MPU):就是和通用计算机的处理器对应的CPU,可以认为是“增强型”通用微处理器。
嵌入式微控制器(MCU):就是将整个计算机系统的主要硬件集成到一块芯片中,芯片内部集成ROM/EPROM、RAM、总线,总线逻辑、定时/计数器、Watchdog、I/O、串行口、A/D等各种必要功能和外设。
嵌入式DSP处理器(DSP):是专门用于信号处理方面的处理器,在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令执行速度。
嵌入式片上系统(SOC):是追求产品系统最大包容的集成器件。绝大多数系统构件都在一个系统芯片内部。
第二章
1. ARM:是Advance RISC Machine 的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
2. 在ARM9TDMI中“9TDMI”的含义:
9:采用版本为9的ARM微处理器 T:支持16为压缩指令集Thumb,D:支持片上Debug,称为D变种
M:内嵌硬件乘法器 Multiplier,称为M变种 I:嵌入式ICE,支持片上断点和调试,称为I变种。
3. ARM Cortex-A8处理器的三种工作状态:
ARM状态,处理器执行32位的字对齐的ARM指令;Thumb状态:处理器执行16位的半字对齐的Thumb指令和ThumbEE状态:执行16位的半字对齐的Thumb指令集变种。
8种工作模式:用户模式(usr)、快速中断模式(fiq)、外部中断模式(irq)、管理模式(svc)、中止模式(abt)、未定义模式(und)、系统模式(sys)和监控模式(mon)。特权模式:除usr之外的其它的7种工作模式都是特权模式。异常模式:除usr和sys之外的其它的6种工作模式都是持权模式。
4. ARM A8寄存器分成哪几类?各类有哪些寄存器?寄存器LR有什么用途?
分两类:33个通用寄存器和7 个状态寄存器。
33个通用寄存器:R0~R15;R13_svc、R14_svc;R13_abt、R14_abt;R13_und、R14_und;R13_irq、R14_irq;R8_fiq-R14_fiq、R13_mon、R14_mon;。7 个状态寄存器:CPSR;SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq、SPSR_fiq和SPSR_mon。
LR (R14):也称作子程序链接寄存器或链接寄存器LR,当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。与之类似,当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt、R14_und和R14_mon用来保存R15的返回值。
各位是意义:
N:正负号/大小标志位 0表示:正数/大于;1表示:负数/小于 Z:零标志位 0表示:结果不为零;1表示:结果为零C:进位/借位/移出位0表示:未进位/借位/移出0;1表示:进位/未借位/移出1 V:溢出标志位 0表示:结果未溢出;1表示:结果溢出I、I和F:irq和fiq中断允许和禁止控制位,=1 禁止irq或fiq中断=0 允许irq或fiq中断。T:控制(标志)位
——反映处理器的运行状态T=1时,程序运行于Thumb状态,T=0时,程序运行于ARM状态。
TM:控制位——决定了处理器的运行模式
模式 TM[4:0]
用户 10000
快中断 10001
中断 10010
管理 10011
中止 10111
未定义 11011
系统 11111
监控 10110
异常响应过程(进入异常)执行哪些操作。
①保存返回地址、②保存当前状态寄存器CPSR的内容、③设置当前状态寄存器CPSR中的相应位、④转去执行中断处理程序。第三章
指令中的第二操作数“operand2”有哪些具体形式:三种:寄存器、寄存器移位、8位位图立即数。
2.对于ARM的变址寻址方式,有基地址和偏倚地址两部分组成。(1)基地址可以是哪些寄存器?(2)偏移地址可以有哪些形式?(3)总地址的计算方法有哪些?怎么表示?(4)变址寻址应用于哪些指令?
(1)基地址可以是通用寄存器R0---R15中的任意一个。
(2)偏移地址可以有三种形式:12位立即数、寄存器、寄存器移位。
(3)总地址的计算方法有三种:
(4)前变址(前索引):先基址+偏址,生成操作数地址,做指令指定的操作。如:LDR Rd,[Rn,#m]
后变址模式(修改基址寄存器):①基址寄存器不加偏移作为操作数地址。②完成指令操作后,用(基址+偏移)的值修改基址寄存器。如:LDR Rd,[Rn],#m
自动变址模式(修改基址寄存器):①先基址+偏移,生成操作数地址,做指令指定的操作。②然后自动修改基址寄存器。如:LDR Rd,[Rn,#m ]!
(5)有4条指令: LDR、STR、LDM、STM
(6)3.ARM 有寻址方式:立即寻址、寄存器寻址、寄存器间接寻址、变址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址
(7)4. ARM 伪指令:ADR:小范围的地址读取伪指令、ADRL:中等范围的地址读取伪指令、LDR:大范围的地址读取伪指令、NOP:空操作伪指令。
5. ARM 指令集分为哪几种类型?各类有哪些指令(可以不考虑协处理器指令)。
五类:存器访问指令、数据处理指令、跳转指令、协处理器指令、杂项指令。
存储器访问指令:单存储器存取指令,多存储器存取指令。
数据处理指令:算术运算指令,逻辑运算指令,数据传送指令,比较指令,测试指令。
跳转指令:B跳转指令 BL带链接的跳转指令 BX带状态切换的跳转指令 BLX带链接和状态切换的跳转指令。
杂项指令:程序状态寄存器操作指令,中断操作指令。
6. ARM 有哪些条件码?各个条件码的符号及意义。(比较常用的应该会)。
条件码 0000 0001 0010 0011 0100 0101 0110 0111
助记符 EQ NE CS/HS CC/LO MI PL VS VC
含义相等不相等无符号数大于或等于无符号数小于负数非负数溢出没有溢出
标志 Z=1 Z=0 C=1 C=0 N=1 N=0 V=1 V=0
1000