ARM的七种异常类型.pptx

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM7支持六种操作模式: 用户模式(usr):正常的程序执行状态 FIQ模式(fiq): 支持数据传送或通道处理 IRQ模式(irq): 用于通用的中断处理 管理模式(svc):用于操作系统的保护模式 异常模式(abt):数据或者指令预取异常时进入 无定义模式(und):当无定义指令被执行时进入 (7) 软件控制,外部中断,异常处理都可以改变操作模式。大部分的应用程序在用户模式下执行。 其他模式,比如管理模式,在中断、异常服务、或者访问被保护资源时进入。 ARM 的中央寄存器集是16 个用户寄存器R0 – R15。这些寄存器均是32 位宽度,R0 – R12 没有其他特殊功能,寄存器R13 – R15在CPU中有特殊功能。R13被用作栈指针(stack pointer, SP)。R14被称为链接寄存器(link register, LR),当调用一个函数时返回地址被自动保 存到链接 寄存器,在函数返回时有效。这使得快速进入和返回“叶”函数(不调用其他函数的函数) 成为可 能。如果函数是分支的一部分(即该函数将调用另一个函数),链接寄存器必须入栈(R13)。 R15 是程序计数器(program counter, PC)。有趣的是,许多指令也可以在R13 – R15中 执行, 就像它们是标准的用户寄存器。 ARM 中断的问题 ARM 的七种异常类型 --------- 1> 复位异常 2> 数据访问中止异常 3> 快速中断请求异常 4> 一般中断请求 5> 预取指令异常 6> 软件中断异常 7> 未定义异常 ------------------------- 问题: 1> 为什么除了进入复位异常模式外,在别的异常处理模式中都允许FIQ 中断? 2> 数据访问中止异常的优先级大于FIQ 异常,为什么在数据访问异常处理模式中,还允许 FIQ 中断?这 样不就成了:在高优先级异常处理中允许低优先级的中断发生? 即使这样,因为FIQ 中断的优先级< 数据异常中断优先级,也不会进入FIQ 中断处理程序啊,这样不 就更没有用处了??;ARM 体系的各种异常的分析(学习日记)- [ARM7TDMI];3;系统调用的具体过程还是看有关uc/os-II 等操作系统书,那里比较详细。 SWI 处理程序通过执行下面的指令返回: MOVS PC,R14_svc 具体为什么偏移量为 0,我???在也还没有搞懂,请看到的大虾多多指点,留个言,谢谢了!!! 经高手指点后明白了原来这么多异常的返回地址问题只要一句话:除了数据中止以外,所有异常发生 时R14 保存的值都是跳转时的 PC-4,只是软件原因引起的异常时执行时(PC 为该指令地址+8)就发生异常 跳转了,而硬件引起的异常为了保证程序安全必须等到当前指令完成后(执行目标已经指向下一个指令,即 PC 为该指令地址+12)才会发生跳转。;;;;8;9;异常向量初始化 内存环境初始化 其他硬件环境初始化 描述文件 要编写描述文件,必须知道 ARM Image 文件的组成及 ARM Image 文件执行的机 理。 ARM Image 的结构 一个 ARM Image structure 由 linker 在以下几个方面定义: 组成它的 regions 和 output sections 当 Image 下载的时候这些 regions 和 sections 在内存中的位置 当 Image 执行时这些 regions 和 sections 在内存中的位置 ARM Image 的组成 一个 ARM Image 被保存在可执行文件当中,它的层次结构可以包括 Image,regions, output sections 和 input sections 。 一个 Image 由一个或多个 regions 组成,每个 region 包括一个或多个 output se ctions 每个 output section 由一个或多个 input sections 组成 Input sections 是一个 object file 中的 code 和 data 信息。 Image 的结构如下图:;同时 Input section 有几种属性,分别为 readonly,read-write,zero-initialized。 分别称为 RO,RW 和 ZI。属性来源于 AREA 后的 attr 属性。 比 如 CODE 是 RO,DATA 是 RW,NOINT 默认为 ZI,即用 0 值初始化,但是可以选择 不进行 0 值初始化。ZI 属性仅仅来源于 SPACE, DCB, DCD, DCDU, DCQ, DCQ U, DCW, 或者 DCWU。由以上定义,ZI 属性的包含于 RW 属

文档评论(0)

tiger02 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档