如何处理ARM的异常和中断

 我来答
雨雨汀47
2016-12-12 · TA获得超过368个赞
知道小有建树答主
回答量:762
采纳率:33%
帮助的人:322万
展开全部
异常是需要中止指令正常执行的任何情形,包括ARM内核产生复位,取指或存储器访问失败,遇到未定义指令,执行了软件中断指令,或者出现了个外部中断等。
异常处理就是处理这些异常情况的方法。大多数异常都对应一个软件的异常处理程序,一个在异常发生时执行的软件程序。
每种异常都导致内核进入一种特定的模式。每个处理器模式都有一组各自的分组寄存器,处理器模式决定了哪些寄存器是活动的以及对cpsr的完全读/写访问。
同时,通过编程改变cpsr,可以进入任何ARM处理器模式。用户和系统模式,不通过异常进入,只能修改cpsr。
之赤藏q
2016-12-12 · TA获得超过141个赞
知道小有建树答主
回答量:775
采纳率:3%
帮助的人:351万
展开全部
I)和未定义指令异常(Undefined instruction) 二. ARM 体系异常种类 下面是 ARM 的 7 种异常 当异常发生时,处理器会把 PC 设置为一个特定的存储器地址。这一地址放在被称为向量表 (vector table)的特定地址范围内。向量表的入口是一些跳转指令,跳转到专门处理某个异 常或中断的子程序。 当异常产生时, ARM core: 拷贝 CPSR 到 SPSR_<mode> 设置适当的 CPSR 位: 改变处理器状态进入 ARM 状态 改变处理器模式进入相应的异常模式 设置中断禁止位禁止相应中断 (如果需要) 保存返回地址到 LR_<mode> 设置 PC 为相应的异常向量 返回时, 异常处理需要: 从 SPSR_<mode>恢复 CPSR 从 LR_<mode>恢复 PC Note:这
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式