网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式系统原理与开发Ch2-ARM处理器.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.2 ARM处理器的寄存器文件 Thumb状态下寄存器组织 1.寄存器组成 (3)这些寄存器不可能同时有效,处理器的工作状态和工作模式决定了何时那些寄存器是有效的。 2.Thumb状态下寄存器组织 Thumb状态下共有27个寄存器。 (1)Thumb组织结构图 Thumb状态下27个寄存器的组织结构如表2.8所示。 各种模式下都有自己的寄存器,部分物理地址是重叠的。 2.2 ARM处理器的寄存器文件 Thumb状态下寄存器组织 2.Thumb状态下寄存器组织 表2. 8 Thumb状态下的寄存器的组织 模式 特权模式 异常模式 用户 系统 管理 中止 未定义 普通终端 快速中断 通 用 寄 存 器 和 程 序 计 数 器 全局通用 R0 R1 R2 R3 R4 R5 R6 R7 分组负用 R13(SP) R13_svc R13_abt R13_und R13_irq R13_fiq R14(LR) R14_svc R14_abt R14_und R14_irq R14_fiq R15(PC) 状态 寄存器 公用 CPSR 复用 无 SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq 2.2 ARM处理器的寄存器文件 Thumb状态下寄存器组织 2.Thumb状态下寄存器组织 (2)通用寄存器 R0~R7:不分组寄存器,与ARM状态相同。 R13~R14:分组寄存器。 Thumb状态下的SP影射到ARM状态下的R13。 Thumb状态下的LP影射到ARM状态下的R14。 (3)状态寄存器 CPSR与SPSR:与ARM状态相同。 PC程序计数器R15 Thumb的PC影射到ARM的R15(PC)。 (4)Thumb到ARM的影射表 Thumb状态下到ARM状态下的寄存器影射表如表所示。 2.2 ARM处理器的寄存器文件 Thumb状态下寄存器组织 2.Thumb状态下寄存器组织 (4)Thumb到ARM的影射表 Thumb状态下到ARM状态下的寄存器影射表如表所示。 表3. 9 Thumb状态下寄存器状态图 Thumb状态 ARM状态 Thumb状态 ARM状态 R0 —— R0 R8~R12 R1 —— R1 SP —— SP(R13) R2 —— R2 LR —— LR(R14) R3 —— R3 PC —— PC(R15) R4 —— R4 CPRP —— CPRP R5 —— R5 SPRP —— SPRP R6 —— R6 R7 —— R7 2.3 ARM处理器的异常与中断 ARM处理器的异常与中断 异常和中断是处理突发事件的机制,ARM中具有异常和中断两种类型。 1.ARM程序控制执行流程 在ARM体系中通常有以下3种方式控制程序的执行流程。 在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节;每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节;整个过程是按顺序执行。 跳转指令,程序可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行。其中,B(Branch)指令用于执行跳转操作;BL指令在执行跳转操作同时,保存子程序的返回地址;BX指令在执行跳转操作同时,根据目标地址为可以将程序切换到Thumb状态;BLX指令执行3个操作,跳转到目标地址处执行,保存子程序的返回地址,根据目标地址为可以将程序切换到Thumb状态。 2.3 ARM处理器的异常与中断 ARM处理器的异常与中断 1.ARM程序控制执行流程 在ARM体系中通常有以下3种方式控制程序的执行流程。 当异常或中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行。当异常或中断处理程序执行完成后,程序返回到发生中断指令的下条指令处执行。在进入异常中断处理程序时,要保存被中断程序的执行现场,从异常中断处理程序退出时,要恢复被中断程序的执行现场。 2.3 ARM处理器的异常与中断 ARM处理器的异常与中断 2.异常分类 ARM中有7种异常中断的种类。 (1)复位(RESET) 当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。复位异常中断通常用在下面几种情况下:系统加电时;系统复位时;跳转到复位中断向量处执行成为软复位。 (2)未定义的指令(Undefined) 当ARM处理器或者是系统中的协处理器认为当前指令未定义时,产生未定义的指令异常中断,可以通过修改未定义异常中断机制仿真浮点向量运算。 (3)软件中断SWI(SoftWare Interrupt) 这是一个由用户定义的中断指令。可用于用户模式下的程序调用特权操作指令。在实时操作系统中可以通过该机制实现系统功能调用。 2.3 ARM处理器的异常与中断 ARM处理器的异常与中断 2

您可能关注的文档

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档