南工大ARM嵌入式系统参考复习题1

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的返回值。 5.CPSR各位是意义:

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

6.ARM 异常响应过程(进入异常)执行哪些操作。

①保存返回地址、②保存当前状态寄存器CPSR的内容、③设置当前状态寄存器CPSR中的相应位、④转去执行中断处理程序。 第三章

1.ARM指令中的第二操作数“operand2”有哪些具体形式:三种:寄存器、寄存器移位、8位位图立即数。

2.对于ARM的变址寻址方式,有基地址和偏倚地址两部分组成。(1)基地址可以是哪些寄存器?(2)偏移地址可以有哪些形式?(3)总地址的计算方法有哪些?怎么表示?(4)变址寻址应用于哪些指令? (1)基地址可以是通用寄存器R0---R15中的任意一个。

(2)偏移地址可以有三种形式:12位立即数、寄存器、寄存器移位。 (3)总地址的计算方法有三种:

前变址(前索引):先基址+偏址,生成操作数地址,做指令指定的操作。如:LDR Rd,[Rn,#m]

后变址模式(修改基址寄存器): ①基址寄存器不加偏移作为操作数地址。 ②完成指令操作后,用(基址+偏移)的值修改基址寄存器。如:LDR Rd,[Rn],#m

自动变址模式(修改基址寄存器): ①先基址+偏移,生成操作数地址,做指令指定的操作。②然后自动修改基址寄存器。如:LDR Rd,[Rn,#m ]!

(4)有4条指令: LDR、STR、LDM、STM

3.ARM 有寻址方式:立即寻址、寄存器寻址、寄存器间接寻址、变址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址

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 HI

无符号数大于 C=1且Z=0 1001 LS

无符号数小于或等于 C=0或Z=1 1010 GE

有符号数大于或等于 N=V 1011 LT

有符号数小于 N!=V 1100 GT

有符号数大于 Z=0且N=V 1101 LE

有符号数小于或等于 Z=1或N!=V 1110 AL 无条件执行

arm采用32位架构,基本数据类型4种,填空 Byte 8位 字节

HalfWord 16 半字 2字节对齐 Word 32 字 4 DoubleWord 64 双字 8

内核工作模式,cortex a8,(课本8种)8种 usr fiq irq

svc特权模式

abt数据访问中止模式 und未定义指令中止模式 sys

mon监控模式, 可在安全模式和非安全模式切换

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4