1 / 60
文档名称:

arm的七种异常类型.doc

格式:doc   大小:541KB   页数:60页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

arm的七种异常类型.doc

上传人:2028423509 2021/11/28 文件大小:541 KB

下载得到文件列表

arm的七种异常类型.doc

文档介绍

文档介绍:- -
. 优选-
ARM7支持六种操作模式:
〔1〕用户模式〔usr〕:正常的程序执行状态
〔2〕FIQ模式(fiq):支持数据传送或通道处理
〔3〕IRQ模式(irq):用于通用的中断处理
〔4〕管理模式(svc):用于操作系统的保护模式
〔5〕异常模式(abt):数据或者指令预取异常时进入
〔6〕无定义模式(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中断处理程序啊,这样不就更没有用处了??