




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第第頁s3c2410中斷處理程序s3c2410中斷程序
在此要注意的是區別中斷向量表和異常向量表。中斷發生后總是從IRQ或者FIQ異常入口處進入,然后跳轉到相應的異常處理程序處執行,這個異常處理程序一般都是進行查找中斷向量表的操作,然后調用中斷處理程序。
以下是在應用中中斷處理實現的過程:從中不難體會到中斷的處理過程。
定義中斷向量表的物理地址:
代碼
.equpISR_DABORT,(_ISR_STARTADDRESS+0x10)
.equpISR_RESERVED,(_ISR_STARTADDRESS+0x14)
.equpISR_IRQ,(_ISR_STARTADDRESS+0x18)
.equpISR_FIQ,(_ISR_STARTADDRESS+0x1c)//異常向量表
……………………
.equpISR_EINT0,(_ISR_STARTADDRESS+0x20)//中斷向量表
.equpISR_EINT1,(_ISR_STARTADDRESS+0x24)
.equpISR_EINT2,(_ISR_STARTADDRESS+0x28)
.equpISR_EINT3,(_ISR_STARTADDRESS+0x2c)
將中斷處理程序入口地址放入中斷向量表:
代碼
pISR_EINT0=(unsignedint)isrEINT0;//isrEINT0中斷處理程序
pISR_EINT1=(unsignedint)isrEINT1;
定義中斷處理程序:
代碼
.externInterrupt_Rbutton
.globalisrEINT0
isrEINT0:
IRQHandleInterrupt_Rbutton
定義異常向量表:
代碼
bHandlerUndef/*handlerforUndefinedmode*/
bHandlerSWI/*handlerforSWIinterrupt*/
bHandlerPabort/*handlerforPAbort*/
bHandlerDabort/*handlerforDAbort*/
.longFileIDTable/*id*/
bHandlerIRQ/*handlerforIRQinterrupt*/
bHandlerFIQ
定義異常處理函數:
代碼
HandlerFIQ:HANDLERHandleFIQ
HandlerIRQ:HANDLERHandleIRQ
HandlerUndef:HANDLERHandleUndef
HandlerSWI:HANDLERHandleSWI
HandlerDabort:HANDLERHandleDabort
HandlerPabort:HANDLERHandlePabort
異常處理宏HANDLER的定義:
代碼
.macroHANDLERHandleLabel
subsp,sp,#4/*decrementsp(tostorejumpaddress)*/
stmfdsp!,{r0}/*PUSHtheworkregistertostack(lrdoes'tpushbec
auseitreturntooriginaladdress)*/
ldrr0,=HandleLabel/*loadtheaddressofHandleXXXtor0*/
ldrr0,[r0]/*loadthecontents(serviceroutinestartaddress)of
HandleXXX*/
strr0,[sp,#4]/*storethecontents(ISR)ofHandleXXXtostack*/
ldmfdsp!,{r0,pc}/*POPtheworkregisterandpc(jumptoISR)*/
.endm
定義IRQ中斷處理宏IRQHandle:
代碼
.macroIRQHandleisrHandle:
stmdbsp!,{r0-r11,ip,lr}/*saver0-r11,ip,lr*/
ldrr0,=isrHandle
movlr,pc
bxr0/*jumptouser_handle(void)*/
ldmiasp!,{r0-r11,ip,lr}/*restorer0,ip,lr*/
subspc,r14,#4/*returnfrominterrupt*/
.endm
申明IRQ異常的服務程序為:IsrIRQ,即,發生IRQ異常時,執行“bHandlerIRQ”即是
運行IsrIRQ代碼:
代碼
ldrr0,=HandleIRQ@Thisroutineisneeded
ldrr1,=IsrIRQ@ifthereisn't'subspc,lr,#4'at0x18,0x1c
strr1,[r0]
IRQ異常處理程序:
代碼
IsrIRQ:
subsp,sp,#4@reservedforPC
stmfdsp!,{r8-r9}
ldrr9,=INTOFFSET
ldrr9,[r9]
ldrr8,=HandleEINT0
addr8,r8,r9,lsl#2
ldrr8,[r8]
strr8,[sp,#8]
ldmfdsp!,{r8-r9,pc}
在嵌入式系統中異常向量表和中斷向量表都是存于FLASH起始的一段空間中。而異常處理和中斷處理程序都是運行在RAM中的。
由上可以知道,當一個IRQ中斷發生時,CPU將從0X18(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025甲方支付委托合同書標準模板
- 2025城市綠化工程合同
- 2025順豐快遞轉讓合同樣本
- 2025合法的合同勞動合同范本
- 2025套商業店鋪轉讓合同模板
- 2025年食品級纖維素醚項目合作計劃書
- 2025年連續玻璃纖維原絲氈項目建議書
- 2025年大型并網風力發電機組項目建議書
- 2025年新型膜材料及其裝置合作協議書
- 2025年功能性棚模新材料及各種助劑項目合作計劃書
- 質量信譽考核自評報告3篇
- 胃腸炎護理教學查房
- 藥物服用指導與患者教育試題及答案
- (四調)武漢市2025屆高中畢業生四月調研考試 英語試卷
- 特種設備事故壓力容器應急預案演練記錄
- 鐵道概論道岔的結構課件
- 2025-2030中國硫代硫酸銨行業市場現狀供需分析及投資評估規劃分析研究報告
- (一模)2025年撫順市普通高中高三模擬考試地理試卷(含答案)
- 工業廢氣治理工(技師)職業技能鑒定理論試題及答案
- 肩關節鏡相關知識
- T-FJZYC 11-2024 金線蓮初加工技術規程
評論
0/150
提交評論