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

ARM 向量中断和非向量中断

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

) Q2 \6 l9 v8 ~2 S- i- P1 R/ f; f, f/ K$ q* @6 Z5 {; d: m/ Y, ]
44B0的向量中断响应过程是中断发生后芯片会自动跳转到0x00000018处执行指令! R7 e; O+ R" x% l8 U
ENTRY/ D3 G2 d, z3 M8 \5 P" C1 |
b ResetHandler ; 0x00
7 r, |, K; R4 T8 w$ Kb HandlerUndef ; 0x04
$ w4 o# T. g- G" w7 ]' R0 z' Wb HandlerSWI ; 0x081 F9 s5 f" `; m) p
b HandlerPabort ; 0x0c
0 R# o* C7 U! vb HandlerDabort ; 0x10  U1 D0 c* P6 l* j( ]
b . ; 0x14! }7 c( [/ Z7 R" o
b HandlerIRQ ; 0x18
% n% {3 F# r1 ab HandleRFIQ ; 0x1c, z( q3 Z4 h8 K4 D+ p3 E
ldr pc,=HandlerEINT0 ; 0x20' Y) X2 t" b" Q; L1 O0 i
ldr pc,=HandlerEINT1
# s) Y! `6 R  o) M6 v! S7 Cldr pc,=HandlerEINT2
% `1 d- n/ l( x9 l! dldr pc,=HandlerEINT3; ]! C6 a% H$ Z
ldr pc,=HandlerEINT4567
3 K4 w% K) `* }9 @2 s0 G6 C! n, Fldr pc,=HandlerTICK ; 0x34
6 F0 U' j* G0 x0 a; y* R  Lb .
* \' @9 F8 K$ K+ E) N6 D( Eb .
8 b3 ~+ u& v, [; U$ s1 cldr pc,=HandlerZDMA0 ; 0x40
8 H. l, f, t" wldr pc,=HandlerZDMA12 q% c. U  a$ Z- E5 {& Z$ o
ldr pc,=HandlerBDMA0
! h. e% ?& o" A7 ^% L( {ldr pc,=HandlerBDMA18 `$ e$ k) W% U
ldr pc,=HandlerWDT
8 e* x" r9 r5 r, w5 t: r; _) tldr pc,=HandlerUERR01 ; 0x54
1 o( I7 m$ c& d& W, Qb .
; W. ^# ]) c3 l9 u) y/ Y# V+ ?3 Ib .
& s5 W7 }/ L8 P/ \ldr pc,=HandlerTIMER0 ; 0x606 h0 w( L* Z. Z' D1 ^& }8 x4 G3 E1 F
ldr pc,=HandlerTIMER1
" \$ I! l/ \$ A8 Q0 L' c0 s: _4 @ldr pc,=HandlerTIMER2# Z6 H$ N7 Q' d2 r8 t( G  _) E
ldr pc,=HandlerTIMER3
' r1 }. R$ A% f2 C; Sldr pc,=HandlerTIMER4- y$ d+ I7 C3 L( Q
ldr pc,=HandlerTIMER5 ; 0x74
* z% m: v3 `% K& l, `b .4 ]+ g4 x! m- ^6 z
b .7 @* t% ~; k2 i
ldr pc,=HandlerURXD0 ; 0x801 h) l4 v% O6 ~
ldr pc,=HandlerURXD1. a+ L( e6 t- W& Z$ [$ z
ldr pc,=HandlerIIC
3 g& w! i& o0 _* _ldr pc,=HandlerSIO2 w+ S6 Q0 B, ~' Y& i
ldr pc,=HandlerUTXD0
/ v! v% ?( i3 o( f1 N/ nldr pc,=HandlerUTXD1 ; 0x949 }9 Z% ~) F" W( h; c) h
b .
/ [6 G. V& Y& v8 jb .
0 }/ m2 r. {' x3 O( }3 zldr pc,=HandlerRTC ; 0xa0" l0 n, [. p0 y4 z
b .
9 w4 Q1 Q2 C9 |' a4 tb .
* J0 r' r4 f/ S  K; f9 d5 [, ub .
' u$ ]: z4 Q3 \. B% H5 T7 Jb .( e( ]; h# ^0 A# `' ^2 |1 r
b .
4 n1 q) Q- V# Y" y+ _+ z1 Sb .1 k( N. Y9 V! F3 r* R$ c+ L" b
ldr pc,=HandlerADC ; 0xb4
% _/ v8 R+ X6 @' ?5 F+ _6 z根据44b0的DATASEET,0x18处放置的指令为b HandlerIRQ;当程序跳转到这里执行时, 芯片在这个地址取到的代码已经被后面程序中的branchinstructions取代了,举个例子,如果芯片EINT3发生中断,芯片会跳转到0x18处执行,先在0x18处取指,这时取到的指令已经不是bHandlerIRQ,b HandlerIRQ已经被芯片自动替换成了ldrpc,=HandlerEINT3,然后芯片再执行此条指令。2 R1 x- R& J# c7 ^4 n" s
而非向量中断的代码如下:
) `3 t8 `( p" B; h; w0 j6 R+ T
游客,如果您要查看本帖隐藏内容请回复

  V2 a9 m2 [) |1 f
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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