ARM的异常处理机制,是从Thumb状态执行还是从ARM状态执行

ARM的异常处理机制,是从Thumb状态执行还是从ARM状态执行,第1张

这个问题从2方面回答:

一、SWI指令执行过程

CSPR保存到SPSR_svc。

改变处郑凳宏理器状态进入ARM状态

改变处理器模式进入相应的管理员模式(svc)

看需要禁止中断

保存返回地址(pc-4)到LR_svc

二、回答粗扰你的疑惑

由上面可以知道,即使是在THUMB状态下进入SWI异常,在执行SWI时,一样喊册会进入ARM状态。执行完,返回时到下一条指令(PC-4),返回后,具体是什么状态,要根据进入SWI中断前的

CSPR决定(欢迎纠错)

ARM微处理器支持7种运行模式,分别为:

用户模式(usr):ARM处理器正常的程序执行状态。

快速中断模式(fiq):用于高速数据传输或通道处理。

外部中断模式(irq):用于通用的中断处理。

管理模简禅式(svc): *** 作系统使用的保护模式。

数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。  统模式(sys):运行具有特权的 *** 作系统任务。

定义指令中止模式(und):当未定义的指令简培执拦咐尘行时进入该模式,可用于支持硬件协处理器的软件仿真。

ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8271573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存