预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共111页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

提要ARM简介3.1ARM简介ARM产业链ARM公司分支ARM嵌入式处理器的市场份额ARM应用领域ARM微处理器的应用领域ARM微处理器系列ARM体系结构的命名规则本节提要ARM基础知识ARM(IP核)体系结构32位机处理器的2种工作状态处理器模式操作系统体系结构处理器工作模式(2)处理器工作模式(3)ARM的寄存器个数寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别Lable内部寄存器内部寄存器内部寄存器内部寄存器寄存器类别内部寄存器内部寄存器内部寄存器程序状态寄存器-1寄存器类别程序状态寄存器-2程序状态寄存器ARM状态和Thumb状态之间寄存器的关系Thumb状态寄存器在Arm状态寄存器上的映射小节提要ARM异常-1异常向量表异常优先级VectorTable在异常处理结束后,异常处理程序完成以下动作:内部寄存器快速中断请求(FIQ)适用于对一个突发事件的快速响应(数据传输和通道处理)保护的需要(这可以加速上下文切换的速度)。通过处理器上的FIQ输入引脚,由外部产生FIQ异常。不管异常入口是来自ARM状态还是Thumb状态,FIQ处理程序都会通过执行下面的指令从中断返回:SUBSPC,R14_fiq,#4在一个特权模式中,可以通过置位CPSR中的F位来禁止FIQ异常。中断请求(IRQ)异常是一个由nIRQ输入端的低电平所产生的正常中断(在具体的芯片中,nIRQ由片内外设拉低,nIRQ是内核的一个信号,对程序员不可见)。IRQ的优先级低于FIQ。对于FIQ序列它是被屏蔽的。任何时候在一个特权模式下,都可通过置位CPSR中的I位来禁止IRQ。不管异常入口是来自ARM状态还是Thumb状态,IRQ处理程序都会通过执行下面的指令从中断返回:SUBSPC,R14_irq,#4中止意味着对当前存储器的访问不能完成,由ABORT输入信号触发(高电平),在存储器访问周期末处理器检查该信号。中止包含两种类型:预取中止发生在指令预取过程中数据中止发生在对数据访问时当发生预取中止时,ARM9内核将预取的指令标记为无效,但在指令到达流水线的执行阶段时才进入异常(译码)。如果指令在流水线中因为发生分支而没有被执行,中止将不会发生。在处理中止的原因之后,不管处于哪种处理器操作状态,处理程序都会执行下面的指令恢复PC和CPSR并重试被中止的指令:SUBSPC,R14_abt,#4流水线技术当发生数据中止后,在修复产生中止的原因后,不管处于哪种处理器操作状态,处理程序都必须执行下面的返回指令,重试被中止的指令:SUBSPC,R14_abt,#8使用软件中断(SWI)指令可以进入管理模式,通常用于请求一个特定的操作系统调用。SWI处理程序通过执行下面的指令返回:MOVSPC,R14_svc这个动作恢复了PC并返回到SWI之后的指令。小节提要ARM指令系统简介1ARM指令系统的重要性2ARM处理器指令的特点ARM指令编码格式操作码条件执行及标志位指令所包涵的主要内容条件码标志ARM指令编码格式小节提要ARM指令分类数据处理指令数据处理指令将存储器中的数据装载到寄存器加载/存储指令LDR指令例子将存储器中的数据装载到寄存器例2:完成一个存储器数据块拷贝批量数据加载/存储指令LDM/STM可以传送R0-R15的任意组合LDM(或STM)指令例子将存储器中的连续数据装载到寄存器后缀完成一个存储器连续数据块拷贝乘法指令与乘加指令MUL指令MLA指令SMULL指令SMLAL指令UMULL指令UMLAL指令跳转指令B指令BL指令BLX指令BX指令程序状态寄存器访问指令程序状态寄存器(PSR)处理指令MRS/MSRMRS指令MSR指令