arm中異常中斷處理概述

arm中異常中斷處理概述

ID:18406475

大小:91.50 KB

頁數(shù):6頁

時(shí)間:2018-09-17

arm中異常中斷處理概述_第1頁
arm中異常中斷處理概述_第2頁
arm中異常中斷處理概述_第3頁
arm中異常中斷處理概述_第4頁
arm中異常中斷處理概述_第5頁
資源描述:

《arm中異常中斷處理概述》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、異常中斷處理概述1.ARM中異常中斷處理概述1)在正常程序執(zhí)行過程中,每執(zhí)行一條ARM指令,程序計(jì)數(shù)器寄存器PC的值加4個(gè)字節(jié);每執(zhí)行一條Thumb指令,程序計(jì)數(shù)器寄存器PC的值加兩個(gè)字節(jié).整個(gè)過程是順序執(zhí)行.2)通過跳轉(zhuǎn)指令,程序可以跳轉(zhuǎn)到特定的地址標(biāo)號(hào)處執(zhí)行,或者跳轉(zhuǎn)到特定的子程序處執(zhí)行;B指令用于執(zhí)行跳轉(zhuǎn)操作;BL指令在執(zhí)行跳轉(zhuǎn)操作的同時(shí),保存子程序的返回地址;BX指令在執(zhí)行跳轉(zhuǎn)操作的同時(shí),根據(jù)目標(biāo)地址的最低位可以將程序狀態(tài)切換到Thumb狀態(tài);BLX指令執(zhí)行3個(gè)操作:跳轉(zhuǎn)到目標(biāo)地址處執(zhí)行,保存子程序的返回地址(R15保存在R14

2、中),根據(jù)目標(biāo)地址的最低位可以將程序狀態(tài)切換到Thumb狀態(tài).3)當(dāng)異常中斷發(fā)生時(shí),系統(tǒng)執(zhí)行完當(dāng)前指令后,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行.在當(dāng)異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷的指令的下一條指令處執(zhí)行.4)在進(jìn)入異常中斷處理程序時(shí),要保存被中斷的程序的執(zhí)行現(xiàn)場,在從異常中斷處理程序退出時(shí),要恢復(fù)被中斷的程序的執(zhí)行現(xiàn)場.本章討論ARM體系中的異常中斷機(jī)制.2.ARM體系中異常中斷種類.ARM體系中的異常中斷如下表所示:ARM體系中的異常中斷異常中斷名稱含義復(fù)位(RESET)當(dāng)處理器的復(fù)位引腳有效時(shí),系統(tǒng)產(chǎn)生復(fù)位異常中斷,

3、程序跳轉(zhuǎn)到復(fù)位異常中斷處理程序處執(zhí)行.復(fù)位異常中斷通常用在下面兩種情況:系統(tǒng)加電時(shí)系統(tǒng)復(fù)位時(shí)跳轉(zhuǎn)到復(fù)位中斷向量處執(zhí)行,稱為軟復(fù)位數(shù)據(jù)訪問中止(DataAbort)如果數(shù)據(jù)訪問指令的目標(biāo)地址不存在,或者該地址不允許當(dāng)前指令訪問,處理器產(chǎn)生數(shù)據(jù)訪問中止異常中斷快速中斷請(qǐng)求(FIQ)當(dāng)處理器的外部快速中斷請(qǐng)求引腳有效,而且CPSR寄存器的F控制位被清除時(shí),處理器產(chǎn)生外部中斷請(qǐng)求(FIQ)異常中斷外部中斷請(qǐng)求(IRQ)當(dāng)處理器的外部中斷請(qǐng)求引腳有效,而且CPSR寄存器的I控制位被清除時(shí),處理器產(chǎn)生外部中斷請(qǐng)求(IRQ)異常中斷.系統(tǒng)中各外設(shè)通常

4、通過該異常中斷請(qǐng)求處理器服務(wù)預(yù)取指令中止(PrefechAbort)如果處理器預(yù)取的指令的地址不存在,或者該地址不允許當(dāng)前指令訪問,當(dāng)該被預(yù)取的指令執(zhí)行時(shí),處理器產(chǎn)生指令預(yù)取中止異常中斷軟件中斷(softwareinterruptSWI)這是一個(gè)有用化定義的中斷指令.可用于用戶模式下的程序調(diào)用特權(quán)操作指令.在實(shí)時(shí)了操作系統(tǒng)(RTOS)中可以通過該機(jī)制實(shí)現(xiàn)系統(tǒng)功能調(diào)用未定義的指令(undefinedinstruction)good,noloosening.6.5.2DCSsidewiringtocompletetheenclosurean

5、dtheothersideafterthewiringiscompleted,DCSwithintheenclosurewhenthepowermoduleshouldbeloosenedorthepowergoesout.6.6lowvoltagecableterminalmaking6.6.1first當(dāng)ARM處理器或者是系統(tǒng)中的協(xié)處理器認(rèn)為當(dāng)前指令未定義時(shí),產(chǎn)生未定義的指令異常中斷.可以通過該異常中斷機(jī)制仿真浮點(diǎn)向量運(yùn)算1.異常中斷向量表及異常中斷優(yōu)先級(jí)中斷向量表中指定了各異常中斷及其處理程序的對(duì)應(yīng)關(guān)系.它通常存放在存儲(chǔ)地址的低端

6、.在ARM體系中,異常中斷向量表的大小為32字節(jié).其中,每個(gè)異常中斷占據(jù)4個(gè)字節(jié)大小,保留了4個(gè)字節(jié)空間.每個(gè)異常中斷對(duì)應(yīng)的中斷向量表的4個(gè)字節(jié)的空間中存放了一個(gè)跳轉(zhuǎn)指令或者一個(gè)向PC寄存器中賦值的數(shù)據(jù)訪問指令.通過這兩種指令,程序?qū)⑻D(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行.當(dāng)幾個(gè)異常中斷同時(shí)發(fā)生時(shí),就必須按照一定的次序來處理這些異常中斷.在ARM中通過給各異常中斷富裕一定的優(yōu)先級(jí)來實(shí)現(xiàn)這種處理次序.當(dāng)然有些異常中斷是不坑能同時(shí)發(fā)生的,如指令預(yù)取中止異常中斷和軟件中斷(SWI)異常中斷是有同一條指令的執(zhí)行觸發(fā)的,他們是不可能同時(shí)發(fā)生的.處理器

7、執(zhí)行某個(gè)特定的異常中斷的過程中,稱為處理器處于特定的中斷模式.各異常中斷的中斷向量地址以及中斷的處理優(yōu)先級(jí)如表2所示.各異常中斷的中短向量地址以及中斷的處理優(yōu)先級(jí)中斷向量地址異常中斷類型異常中斷模式優(yōu)先級(jí)(6最低)0x0復(fù)位特權(quán)模式(SVC)10x4未定義的指令未定義指令中止模式(Undef)60x8軟件中斷(SWI)特權(quán)模式(SVC)60x0c指令預(yù)取中止中止模式50x10數(shù)據(jù)訪問中止中止模式20x14保留未使用未使用0x18外部中斷請(qǐng)求(IRQ)外部中斷(IRQ)模式40x1c快速中斷請(qǐng)求(FIQ)快速中斷(FIQ)模式32.異常中

8、斷使用的寄存器各異常中斷對(duì)應(yīng)著一定的處理器模式.應(yīng)用程序通常運(yùn)行在用戶模式下.ARM中的處理器模式如表3所示.ARM中的處理器模式處理器模式描述用戶模式正常程序執(zhí)行的模式快速中斷模式用于高速數(shù)據(jù)傳輸和通道處

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。