?? startup_rtx.s
字號:
PRESERVE8 ; 8-Byte aligned Stack
AREA IRQ_Vect_Addr, CODE, READONLY
ARM
EXPORT IRQ_Handler
IMPORT VIC_Vect_Addr0
IRQ_Handler STMFD SP!, {R11, R12, LR};真保護R11R12, 假保護LR(用于運算)
LDR R12, VIC_Vect_Addr ;取VICVectAddr物理地址
LDR R12, [R12] ;取出取VICVectAddr內實際向量中斷號(非地址)
AND R12, #0x1f ;防止32個中斷序號越界,在此可再做序號越界處理(可省略)
LDR R11, =VIC_Vect_Addr0
LDR R12, [R11, R12, LSL #2];散轉到用戶真正的向量中斷地址
STR R12, [SP, #0x08];將中斷向量地址R12寫入事先保存的那個LR空間
LDMFD SP!, {R11, R12, PC};恢復R11R12,同時PC跳入中斷向量地址執行
VIC_Vect_Addr DCD 0xFFFFF030;VICVectAddr物理地址
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -