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监控 101106.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、STM3.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 C S/HS CC/LO MI P L VS VC含义相等不相等无符号数大于或等于无符号数小于负数非负数溢出没有溢出标志 Z=1 Z=0 C=1 C=0 N=1 N=0 V=1 V=01000HI无符号数大于C=1且Z=01001LS无符号数小于或等于C=0或Z=11010GE有符号数大于或等于N=V1011LT有符号数小于N!=V1100GT有符号数大于Z=0且N=V1101LE有符号数小于或等于Z=1或N!=V1110AL无条件执行arm采用32位架构,基本数据类型4种,填空Byte 8位字节HalfWord 16 半字2字节对齐Word 32 字 4 DoubleWord 64 双字8核工作模式,cortex a8,(课本8种)8种usrfiqirqsvc特权模式abt数据访问中止模式und未定义指令中止模式sysmon监控模式,可在安全模式和非安全模式切换8个模式中,除用户模式usr,其他7个全部特权模式7个特权模式中,除了系统模式,剩下6个都属于异常模式异常模式:快速中断请求模式(FIQ)用于高速数据传输外部中断请求模式(IRQ)用于通常的中断处理特权模式(SVC)数据访问终止模式(abt)当数据或指令预取终止时进入该模式,可用于虚拟存及存储保护未定义指令中止模式(und)用于支持硬件协处理器的软件仿真监控模式(mon)Arm微处理器工作模式,分别为:1.用户模式(Usr)用于正常执行程序2.快速中断模式(FIQ)用于高速数据传输3.外部中断模式(IRQ)用于通常的中断处理4.特权管理模式(SVC)操作系统使用的保护模式(高权限),复位和软件中断进入5.数据访问中止模式(abt)当数据或指令预取终止时进入该模式,可用于虚拟存及存储保护6.系统模式(sys)运行拥有特权的操作系统任务7.未定义指令终止模式(und)用于支持硬件协处理器的软件仿真(浮点、微量运算)8.监控模式(mon),可在安全模式和非安全模式切换异常模式优先级如下:1(最高)SVC 复位2 abt 数据中止3 FIQ(快速中断请求)4 IRQ(外部中断请求)5 abt 预取指令中止6(最低)und 未定义指令,SWI 软件中断arm7为止使用流水线3级取指令,从寄存器装载一条指令译码为下一周期准备控制信号执行处理指令,结果写会寄存器arm9,五级流水线3级+缓冲/数据回写arm10 6级流水线寄存器R13用作数据栈指针,记作SP。
寄存器R14称为寄存器,记作LR,它用于保存子程序的返回地址。
寄存器R15是程序计数器,记作PC,不能用作其它用途。
CPSR 当前程序状态寄存器理解CPSR格式,里面标志位含义等等跳转指令,bl跳转32mb围,跳转pc,如ldrb pc,...可以4GB围AAPCS标准子程序调用,用R0-R3存储参数,R0存返回值I2C总线,通过串行数据线(SDA)和串行时钟线(SCL)在连接到总线的器件间传递信息。
传输时包含寻址和数据信息,每个字节8位,每个字节后必须跟一个响应位。
A_D转换结束的表达式是 !(TSAADCCON0&(1<<15))获取AD转换结果的表达式是 (TSDATX0&0xfff)LCD 16M色的像素颜色的数据格式是怎样的4个字节,前3个字节分别为红,绿,蓝三原色的色号。
64K色的数据则用16位表示一个像素的颜色,三原色配比是5/6/5。
android操作系统的源码结构分为3个部分:核心工程(Core Project),扩展工程(External Project),包(Package),应用程序(Application)在package/apps 目录中。
二、简答题:1、 Cortex-A8是ARMv7-A 架构的,共有哪几种工作模式,其中哪几种属于异常模式?usr用户模式fiq快速中断模式irq 外部中断模式svc特权模式abt数据访问中止und未定义指令中止模式sys系统模式mon监控模式,安全模式切换8种工作模式,除用户模式,都是特权模式特权模式里面,除系统模式,其他都是异常模式。