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

ARM 向量中断和非向量中断

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
ARM 向量中断和非向量中断

# R( r" l& q3 K' c5 R$ U: Z, Q5 N) c) W$ T4 R$ ^
44B0的向量中断响应过程是中断发生后芯片会自动跳转到0x00000018处执行指令
0 F5 D! `6 l9 A' ^- U9 x3 |; D1 QENTRY
, e' d+ g) g/ d5 l* Db ResetHandler ; 0x00
( }- y$ E7 s1 L7 Ob HandlerUndef ; 0x042 ~( K+ F7 E* C7 @' r# x
b HandlerSWI ; 0x08$ ?# e( P% e: R* ?: k
b HandlerPabort ; 0x0c
. k/ m$ u) U4 Pb HandlerDabort ; 0x106 m+ n- h2 w2 ~& U( n8 u
b . ; 0x14
/ \, c& b4 T$ @9 Lb HandlerIRQ ; 0x18
! V( J, j% |& t7 b! l5 lb HandleRFIQ ; 0x1c
& g. [3 d9 E4 M+ s$ eldr pc,=HandlerEINT0 ; 0x20- R  }! N9 h3 ?$ [5 {
ldr pc,=HandlerEINT1- U: w) J# t% D$ s# q
ldr pc,=HandlerEINT2* J8 K0 J! J2 I
ldr pc,=HandlerEINT3* A& P& {" \7 Q& g9 S* V" V+ o
ldr pc,=HandlerEINT4567; `2 s( M& z+ m* O
ldr pc,=HandlerTICK ; 0x34
4 I7 o: n' h) C# f+ Db .8 m7 X1 c& E6 Y5 ~: o& w4 |
b .
/ k* ?0 `0 }9 d3 A3 G$ [" cldr pc,=HandlerZDMA0 ; 0x40
  g' Z/ L7 P" ~0 }8 C" aldr pc,=HandlerZDMA1/ Z+ d$ E9 Q" @8 \; L
ldr pc,=HandlerBDMA01 Z' _- j5 F  H6 h
ldr pc,=HandlerBDMA1
2 ]4 f9 C6 V, Y9 l5 Hldr pc,=HandlerWDT, O! `! H- m+ N, T6 L& N  `9 i6 Q
ldr pc,=HandlerUERR01 ; 0x546 l8 O1 ~' o' G7 ^* n" t
b .$ T9 l5 [) L2 g/ d) S( t
b .
& I4 Y# W8 W) k; |  Y$ F& Q4 |ldr pc,=HandlerTIMER0 ; 0x60' z9 D& e3 h) x$ V) v
ldr pc,=HandlerTIMER18 j& m' a' t: G6 f
ldr pc,=HandlerTIMER2
" `/ o# S3 u  M' }, ?- e, D# ]6 }3 @ldr pc,=HandlerTIMER3
, e" D) l9 T* `: \ldr pc,=HandlerTIMER4
% K! P* E) j3 H+ @ldr pc,=HandlerTIMER5 ; 0x74/ G, G/ G/ ]) ?
b .
6 g& R& [, q5 J3 ]9 {+ B" r. Y% |b .
" x8 }$ _. }% R7 e* l5 qldr pc,=HandlerURXD0 ; 0x80. }) Q, m8 q, B) g4 i! P
ldr pc,=HandlerURXD1* J4 s) z9 w% v! @/ k( ~& B5 z
ldr pc,=HandlerIIC
, a* p2 @) }1 rldr pc,=HandlerSIO
" \9 [3 _; Z- w- N" O* Y' d% Tldr pc,=HandlerUTXD0
* l3 J( d( {7 L3 ~, \3 D* Kldr pc,=HandlerUTXD1 ; 0x94. O) W. _7 K7 |! K% g0 ^
b .
2 Q* K, `3 _7 u7 s. wb .! f5 u4 @6 M# L' j
ldr pc,=HandlerRTC ; 0xa0- o9 R6 c% L) m
b .
+ Q% w$ \& K  L8 G# s/ Zb .9 r* e( ]6 p6 G: t6 I& b
b .' W# i8 h$ c, h4 P' s+ i8 T, N! \
b .7 m8 G7 T% _4 v, [- z# ?- `! ?
b .
* {: @4 w! Q; R# N( o! ?( zb .
6 j0 b  T( W/ u3 A' I$ Hldr pc,=HandlerADC ; 0xb4: l) D! R. o' Q8 q
根据44b0的DATASEET,0x18处放置的指令为b HandlerIRQ;当程序跳转到这里执行时, 芯片在这个地址取到的代码已经被后面程序中的branchinstructions取代了,举个例子,如果芯片EINT3发生中断,芯片会跳转到0x18处执行,先在0x18处取指,这时取到的指令已经不是bHandlerIRQ,b HandlerIRQ已经被芯片自动替换成了ldrpc,=HandlerEINT3,然后芯片再执行此条指令。
7 D- r( R  q) F* c( L4 q! }而非向量中断的代码如下:
! z/ k7 e  J7 S* }
游客,如果您要查看本帖隐藏内容请回复

; D; ~1 x3 B, `- }0 B) D$ F9 u
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 22:22 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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