找回密码
 注册
关于网站域名变更的通知
查看: 388|回复: 1
打印 上一主题 下一主题

ARM 向量中断和非向量中断

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-10-25 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
ARM 向量中断和非向量中断
. ?4 p. @4 }6 }

* F3 G5 O! o) g" D! r0 D2 E- r$ y44B0的向量中断响应过程是中断发生后芯片会自动跳转到0x00000018处执行指令
; b* R' G9 n0 i& S' O. T7 oENTRY
+ U# w% O8 x; T/ d/ z, nb ResetHandler ; 0x003 z* h+ w: \( a) |, q) O
b HandlerUndef ; 0x04
& ]- O% _0 Z/ [4 W- Vb HandlerSWI ; 0x08
* V0 l' s7 Y7 t! y* z4 S% yb HandlerPabort ; 0x0c
, r+ _( S$ h3 `5 Wb HandlerDabort ; 0x10* T) F  K0 @8 L5 W$ V; a3 X& r. Y$ @
b . ; 0x14
5 p2 }! g' |$ I2 Lb HandlerIRQ ; 0x18
& H0 O1 ]6 P' ^2 `7 y  v1 ?9 A' zb HandleRFIQ ; 0x1c- U# n  f3 e7 [3 R
ldr pc,=HandlerEINT0 ; 0x20% `4 p  `  F) b0 `& s) p
ldr pc,=HandlerEINT1
  L4 _# R( o  K  E$ w* Cldr pc,=HandlerEINT2+ k+ n- I9 M: Z2 Z# W1 H/ O
ldr pc,=HandlerEINT3
5 t+ Q- T3 C' Z; Q( d( B; k& q4 o& [5 Uldr pc,=HandlerEINT4567
/ D8 i+ A1 l- v7 q6 @2 i+ rldr pc,=HandlerTICK ; 0x340 x& m3 D# t. Q. B- w
b .
3 k' k$ C, M2 {1 s/ j. r( db .' E4 T, H0 D" T
ldr pc,=HandlerZDMA0 ; 0x40" G# k) x& f# f4 X/ ~
ldr pc,=HandlerZDMA1
: s0 L) j# I7 C8 p! |/ Wldr pc,=HandlerBDMA0
! R# D, y2 N8 Q/ Eldr pc,=HandlerBDMA1$ I8 [8 ]  V9 @* v+ @- A+ B
ldr pc,=HandlerWDT
, n- L; X1 E! ~ldr pc,=HandlerUERR01 ; 0x54
9 M# j& V/ q4 D- D9 `' e' Nb .2 X+ Z+ n7 e4 z0 u9 m3 S( n
b .7 n# N6 b8 m. ?0 j
ldr pc,=HandlerTIMER0 ; 0x606 n: x/ d4 H; f# Q0 z1 b
ldr pc,=HandlerTIMER1
/ B! g6 l# W% Kldr pc,=HandlerTIMER2. d, ]1 L! K5 x
ldr pc,=HandlerTIMER36 S! h9 f: n/ B7 C3 z, `
ldr pc,=HandlerTIMER4
# g8 j: M) d# b# gldr pc,=HandlerTIMER5 ; 0x740 |3 D' P4 R7 G0 H
b .) P( t" _; ^/ V
b .$ j+ ], ?7 c* _/ p0 E
ldr pc,=HandlerURXD0 ; 0x80! d$ e1 c( F* `0 ]* J
ldr pc,=HandlerURXD10 h; z  s: O: {
ldr pc,=HandlerIIC' j3 }# [+ Y8 g) D- L2 m
ldr pc,=HandlerSIO& @; W0 a; k- K6 P* i  h4 V5 [
ldr pc,=HandlerUTXD0  {; I7 e2 R+ q" `" B. W  X, Y
ldr pc,=HandlerUTXD1 ; 0x946 Q; p, \, L6 [+ B7 `. ?4 P
b .
1 m; e+ k4 V; G; Q+ u9 R( p% B2 Kb .
+ [0 v" b' X8 B4 t4 ]ldr pc,=HandlerRTC ; 0xa07 l* e' {& r0 p3 y( Q
b .
2 E5 G+ x; r1 \b .
: f  u& O, P! k8 \: G+ f' o6 Xb .
0 R6 _# o+ W6 K) b4 I. a+ @1 nb .8 I- L+ Z7 G# J6 E
b .' p* S$ O; h1 z  P/ H# O6 m
b .8 @* W, X+ N! l* `) B8 W# K0 o7 j& G/ T
ldr pc,=HandlerADC ; 0xb45 L# g& u8 |+ L1 ]% c$ z3 Q
根据44b0的DATASEET,0x18处放置的指令为b HandlerIRQ;当程序跳转到这里执行时, 芯片在这个地址取到的代码已经被后面程序中的branchinstructions取代了,举个例子,如果芯片EINT3发生中断,芯片会跳转到0x18处执行,先在0x18处取指,这时取到的指令已经不是bHandlerIRQ,b HandlerIRQ已经被芯片自动替换成了ldrpc,=HandlerEINT3,然后芯片再执行此条指令。
8 E& {& q9 v0 G4 E$ n" T4 z而非向量中断的代码如下:1 h& c" C% J" B4 K; ^& n  B& V
游客,如果您要查看本帖隐藏内容请回复

5 b0 V% E1 Q5 S3 @9 b8 P) ~3 Q% j
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 20:54 , Processed in 0.171875 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表