ARM 处理器 ~ 中断与异常 您所在的位置:网站首页 arm处理器的特点有哪些方面的问题和建议 ARM 处理器 ~ 中断与异常

ARM 处理器 ~ 中断与异常

2024-07-12 11:39| 来源: 网络整理| 查看: 265

教材:嵌入式系统及应用,罗蕾、李允、陈丽蓉等,电子工业出版社

目录:

中断与异常 定义 外部中断外部中断 软件中断自陷 异常 异常向量表 具体内容 ARM 引起的异常事件类型 异常响应过程 Reset 异常 未定义指令异常 软件中断异常 指令预取异常 数据中止异常 IRQ FIQ 异常返回 异常优先级 异常处理中的寄存器使用 中断处理

中断与异常 定义

ARM 中的工作模式除 User 和 System 外,均为异常模式,这里的异常是广义的,包含以下三类情况

外部中断(外部中断)

由于 CPU 外部的原因而改变程序执行流程,属于异步事件,可以屏蔽

软件中断(自陷) 通过处理器拥有的软件指令,可预期地使正在执行的程序改变执行流程,以执行特定的程序 显式的事件,无条件执行 属同步事件,且不可屏蔽 例如 Motorola 68000 系列的 Trap 指令、ARM 中的 SWI、Intel 8086 中的 INT 异常 由 CPU 内部的原因(如非法指令)或外部的原因(如访存错误)引起的事件 没有对应的处理器指令 异常发生时,处理器无条件地挂起当前运行的程序,去执行特定的处理程序 属同步事件,且不可屏蔽

ARM 处理器把上述三种事件以异常模式来处理,通过异常向量来响应。ARM 的每个异常向量中存放的是一条指令(一般是跳转指令),异常发生时,CPU 自动到指定的向量地址读取该指令并执行。

异常向量表

ARM 的异常向量一般是完成程序跳转的指令

在 ARM720T,ARM9 系列及以后的内核中,异常向量表可放置在 0xFFFF0000 开始的高位地址空间 异常向量表

具体内容

异常向量表内容

如果异常处理程序的起始地址位于 32MB 的范围内,可以直接用分支指令完成跳转

如果异常处理程序的起始地址是一个合法的 ARM 指令立即数(可由0~255内的数循环右移偶数位得到),则可以用数据传输指令将该地址加载到 PC 中

其他情况需采用 LDR 指令完成对 PC 的加载

ARM 引起的异常事件类型

综合

异常响应过程 当一个异常产生,处理器核会


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有