久久久久久久麻豆,中日韩av在线,麻豆av在线免费,中文字幕二区三区,欧美日韩视频一区二区,亚洲欧美日韩在线一区,国产无毒不卡

ARM基礎(chǔ)知識(shí)學(xué)習(xí)五


在應(yīng)用程序中安裝異常ARM中斷處理中斷處理程序
1.使用跳轉(zhuǎn)指令:可以在異常中斷對(duì)應(yīng)異常向量ARM中斷處理表中特定位置放置一條跳轉(zhuǎn)指令,直接跳轉(zhuǎn)到該異常中斷的處理程序。這種方法有一個(gè)缺點(diǎn),即只能在32M空間范圍內(nèi)跳轉(zhuǎn)。
2.使用數(shù)據(jù)讀取指令LDR:使用數(shù)據(jù)讀取指令LDR向程序計(jì)數(shù)器PC中直接賦值。這種方法分為兩步:先將異常中斷處理程序的絕對(duì)地址存放在存放在距離向量表4KB范圍內(nèi)的一個(gè)存儲(chǔ)單元中;再使用ARM中斷處理數(shù)據(jù)讀取指令LDR將該單元的ARM中斷處理內(nèi)容讀取到程序計(jì)數(shù)器PC中。 

**在系統(tǒng)復(fù)位時(shí)安裝異常中斷處理程序**
1.地址0x00處為ROM的情況
使用數(shù)據(jù)讀取指令LDR示ARM中斷處理例如下所示:
Vector_Init_BloARM中斷處理ck
LDR PC, Reset_Addr
LDR PC, Undefined_Addr
LDR PC, SW_Addr
LDR PC, Prefeth_Addr
LDR PC, Abort_Addr
NOP
LDR PC, IRQ_Addr
LDR PC, FIQ_Addr
Reset_Addr DCD Start_Boot
Undefined_Addr DCD Undefined_Handle
SW_Addr DCD SWI_Handle
Prefeth_Addr DCD Prefeth_Handle
Abort_Addr DCD Abort_Handle
DCD 0
IRQ_Addr DCD IRQ_Handle
FIQ_Addr DCD FIQ_Handle
使用跳轉(zhuǎn)指令的示例如下所示:
Vector_Init_Block
BL Reset_Handle
BL DCD Undefined_Handle
BL SWI_HanARM中斷處理dle
BL Prefeth_Handle
BL Abort_Handle
NOP
BL IRQ_Handle
BL FIQ_Handle
2.地址0x00處為RAM的情況
地址0x00處為RAM時(shí),中斷向量表必須使用數(shù)據(jù)讀取ARM中斷處理指令直接指向PC中賦值的形式。ARM中斷處理而且,必須使用下面的代碼巴中斷向量表從ROM中復(fù)制到RAM中地址0x00開始處的存儲(chǔ)空間中:
MOV r8,#0
ADR r9,Vector_Init_Block
;復(fù)制中斷向量表(8字)
LDMIA r9!,(r0-r7)
STMIA r8!,(r0-r7)
;復(fù)制保存各中斷處理函數(shù)地址ARM中斷處理的表(8字words)
LDMIA r9!,(r0-r7)
STMIA r8!,(r0-r7)


COPYRIGHT(C) 2011 廈門永宏亞得機(jī)電科技有限公司版權(quán)所有(閩ICP備05025945號(hào)) ALL RIGHTS RESERVED?

電話: 0592-5190891 傳真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 廈門市海滄區(qū)興港六里17號(hào)2607室 郵編:361009 聯(lián)系人:翟先生