交大峨眉嵌入式ARM2013复习

《交大峨眉嵌入式ARM2013复习》由会员分享,可在线阅读,更多相关《交大峨眉嵌入式ARM2013复习(46页珍藏版)》请在文档大全上搜索。
1、复习 题型 填空30分(1*30), 选择30分(2*15) 简答20分(4个) 程序填空10分(1*10) 程序设计10分(2个,4章,6章各一个) 嵌入式系统定义: 从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。第一章 嵌入式处理器类以及其主流产品: 嵌入式微处理器: 嵌入式微控制器; 嵌入式DS
2、P处理器; 嵌入式片上系统(SOC)。 实时操作系统分类:一般实时操作系统和嵌入式实时操作系统 嵌入式操作系统基本概念(15个) 常见的嵌入式操作系统: 嵌入式Linux Win CE VxWorks C/OS-II第一章第二章 常用ARM处理器系列ARM7ARM9ARM10EXscaleARM11CortexARM9EARM7TDMI-S支持高密度16位的Thumb指令集;支持片上调试;支持64位乘法;支持EmbededICE观察硬件;ARM7TDMI 的可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与ARM7TDMI 一致;Lpc2000系列第二章 如果一个数
3、据是从偶地址开始的连续存储,那么它就是半字对齐,否则就是非半字对齐; 如果一个数据是以能被4整除的地址开始的连续存储,那么它就是字对齐,否则就是非字对齐。方式半字对齐字对齐地址0 x40020 x40040 x40040 x4008特征Bit0=0其他位为任意值Bit1=0,Bit0=0其他位为任意值 存储器的存储方式第二章 ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。 ARM7TDMI的流水线分3级,分别为:取指译码执行取指译码执行处理指令并将结果写回寄存器识别将要被执行的指令从寄存器装载
4、一条指令 正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令从存储器中取出。 在ARM状态下,流水线上各指令的地址为: 在Thumb状态下,流水线上各指令的地址为:PCPC-4PC-8PCPC-2PC-4 三级流水线第二章 处理器状态 ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态:ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;Thumb状态:16位,处理器执行半字方式的Thumb指令。注意:两个状态之间的切换并不影响处理器模式或寄存器内容。第二章地址最低位为0,表示切换到AR
5、M状态 使用BX指令将ARM内核的操作状态在ARM状态和Thumb状态之间进行切换。ARM指令集Thumb指令集CODE32LDRR0, =Lable+1BX R0CODE16Lable MOV R1, #12CODE16LDR R0, =LableBX R0CODE32LableMOV R1, #10地址最低位为1,表示切换到Thumb状态跳转地址标号执行完BX指令,处理器切换到Thumb状态,开始执行Thumb指令程序代码指令集关系 从ARM状态切换到Thumb状态的程序代码如下: 从Thumb状态切换到ARM状态的程序代码如下:执行完BX指令,处理器切换到ARM状态,开始执行ARM指令处
6、理器状态第二章ARM处理器模式处理器模式处理器模式说明说明备注备注 用户(usr)正常程序运行的工作模式不能直接从用户模式切换到其它模式特权模式系统(sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权异常模式快中断(fiq)快速中断请求处理只有在FIQ异常响应时,才进入此模式中断(irq)中断请求处理只有在IRQ异常响应时,才进入此模式管理(svc)供操作系统使用的一种保护模式只有在系统复位和软件中断响应时,才进入此模式中止(abt)用于虚拟内存和/或存储器保护在ARM7内核中没有多大用处未定义(und) 支持软件仿真的硬件协处理器只有在未定义指令异常响应时
7、,才进入此模式第二章ARM状态各模式下的寄存器寄存器寄存器类别类别寄存器在汇寄存器在汇编中的名称编中的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通通用用寄寄存存器器和和程程序序计计数数器器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_scv
8、R13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR13_irqR14_fiqR15(PC)R15状态状态寄存器寄存器CPSRCPSRSPSRSPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq 所有的37个寄存器,分成两大类:31个通用32位寄存器;6个状态寄存器。注意:R13、R14、R15以及CPSR(包括各位和处理器模式等的关系)第二章 程序状态寄存器的格式NZCV IM0M1M2M3M4TF. . .31 30 29 28 27 26 8 7 6 5 4 3 2 1 0条件代码标志保留控制
9、位溢出标志进位或借位扩展零负或小于IRQ禁止FIQ禁止状态位模式位NZCVIM0M1M2M3M4TF例,中断开关方式等设置第二章 条件代码标志各标志位的含义如下:负标志N:运算结果的第31位值,记录标志设置操作的结果;零标志Z:如果标志设置的操作为0,则置位;进位标志C:记录无符号加法溢出,减法无借位,循环移位;溢出标志V:记录标志设置操作的有符号溢出。第二章 警告:绝对不要强制改变CPSR寄存器中的控制位T。如果这样做,处理器将进入一个无法预测的状态。 控制位1、中断禁止控制位I和F;2、处理器状态位T;3、处理器模式位M0M4。当控制位I置位时,IRQ中断被禁止;当控制位F置位时,FIQ中
10、断被禁止。当控制位T置位时,处理器正在Thumb状态下运行;当控制位T清零时,处理器正在ARM状态下运行。M4:0模式模式可见的可见的Thumb状态寄存器状态寄存器可见的可见的ARM状态寄存器状态寄存器10000用户R0R7, SP, LR, PC, CPSRR0R14, PC, CPSR 10001快速中断R0R7, SP_fiq, LR_fiq, PC,CPSR, SPSR_fiq R0R7, R8_fiqR14_fiq, PC,CPSR, SPSR_fiq 10010中断R0R7, SP_irq, LR_irq, PC,CPSR, SPSR_fiq R0R12, R13_irq, R14
11、_irq, PC,CPSR, SPSR_irq 10011管理R0R7, SP_svc, LR_svc, PC,CPSR, SPSR_svc R0R12, R13_svc, R14_svc, PC,CPSR, SPSR_svc 10111中止R0R7, SP_abt, LR_abt, PC,CPSR, SPSR_abt R0R12, R13_abt, R14_abt, PC,CPSR, SPSR_abt 11011未定义R0R7, SP_und, LR_und, PC,CPSR, SPSR_und R0R12, R13_und, R14_und, PC,CPSR, SPSR_und11111系