EDA365电子论坛网

标题: 一般情况下ARM出现异常的处理流程 [打印本页]

作者: mytomorrow    时间: 2019-10-11 13:28
标题: 一般情况下ARM出现异常的处理流程
在学习与开发ARM处理器的过程中,一个不能绕开的话题就是异常处理流程。它在ARM的体系架构中,占据着不可动摇的重要地位。此处就以Coterx-A系列的ARM处理器简单分析一下异常中断处理流程。2 y  Y, q7 B% U, |; d
2 ^+ W) n# p& K+ i' H" D- G/ Z
说异常处理流程之前,我们先说一下ARM处理器的工作模式和异常源。2 K( K; U; f& i6 i

- ^. J; n4 D: d0 l1 V/ J7 E在Coterx-A系列之前的ARM处理器,一共有个基本工作模式:1 B4 P) y" F; K, Z  k4 S
# L3 c" [( ~& g+ P
User : 非特权模式,大部分任务执行在这种模式;$ s6 [% }5 n) M3 z( @0 C% e
, P9 I( d/ ]6 P7 g7 H
FIQ : 当一个高优先级(fast) 中断产生时将会进入这种模式;
  ~0 b- L* R8 M% ]# N. X
! }2 j! z8 n9 S% c( ^3 Z6 J: xIRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式;
5 ]; X  d3 a- y9 {2 A; E' c3 `- `% e; s" s+ a$ x
Supervisor :当复位或软中断指令执行时将会进入这种模式;
9 i$ D& P+ _7 K1 b! g9 _3 R( G9 M0 b* g& {, d. `
Abort : 当存取异常时将会进入这种模式;
; m9 N& R3 u6 ?9 S, g! p$ k* ]1 X0 r+ U. x# l9 N* O6 g3 l& v7 Y
Undef : 当执行未定义指令时会进入这种模式;7 ~3 ?: [3 h+ y5 ^: U7 S" A

' @/ e/ h. l5 t. N! }5 \1 |* VSystem : 使用和User模式相同寄存器集的特权模式;
. x; F* Q! K* `, U# `  X3 y9 \
2 ~$ y* c/ ]; ^9 }/ Z) K) B! P而Coterx-A系列处理器则多了一种工作模式:
) p7 g* o+ c& v3 \5 d
5 [$ `$ [& [! E3 [; E" `Monitor : 是为了安全而扩展出的用于执行安全监控代码的模式;
$ k% u+ _6 N: H. s( d2 T! ^# A! M+ R1 J$ j- s: F# p
! B# \2 F0 F* @
8 Z; f- R/ `% T6 F: e

作者: fanichicl    时间: 2019-10-11 22:44
学习一下




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2