




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
嵌入式系統(tǒng)及應(yīng)用第八章
ARM異常中斷處理系統(tǒng)ARM異常中斷概述異常中斷進(jìn)入和退出SWI異常中斷處理程序FIQ&RIQ異常中斷處理異常中斷概述中斷種類(lèi)異常中斷向量表和優(yōu)先級(jí)異常中斷寄存器組中斷分類(lèi)復(fù)位異常
復(fù)位引腳有效時(shí)產(chǎn)生復(fù)位異常中斷;發(fā)生于系統(tǒng)加電時(shí)和系統(tǒng)復(fù)位時(shí);未定義指令異常
ARM處理器認(rèn)為當(dāng)前指令未定義時(shí)產(chǎn)生該中斷;用戶(hù)仿真浮點(diǎn)向量運(yùn)算;軟件中斷
用戶(hù)定義的中斷指令,實(shí)現(xiàn)系統(tǒng)功能調(diào)用;指令預(yù)取終止
預(yù)取的指令不存在或是拒絕訪問(wèn)時(shí)產(chǎn)生該中斷;中斷分類(lèi)數(shù)據(jù)訪問(wèn)終止
數(shù)據(jù)訪問(wèn)指令的目標(biāo)地址不存在或拒絕訪問(wèn)時(shí)產(chǎn)生該中斷;外部中斷請(qǐng)求IRQ
IRQ請(qǐng)求引腳有效且CPSR允許中斷,則產(chǎn)生IRQ中斷請(qǐng)求;系統(tǒng)中個(gè)外圍器件使用該中斷請(qǐng)求處理器服務(wù);快速中斷請(qǐng)求FIQ
可以簡(jiǎn)單的認(rèn)為優(yōu)先級(jí)最高的IRQ異常中斷向量表和優(yōu)先級(jí)中斷向量地址異常中斷類(lèi)型異常中斷模式優(yōu)先級(jí)0x0復(fù)位SVC10x4未定義指令Undef60x8SWISVC60x0C指令預(yù)取終止中止模式50x10數(shù)據(jù)訪問(wèn)終止中止模式20x14保留未使用未使用0x18IRQIRQ模式40x1CFIQFIQ模式3異常中斷寄存器組用戶(hù)模式系統(tǒng)模式特權(quán)模式中止模式未定義指令模式IRQ模式FIQ模式R0R0R0R0R0R0R0R1R1R1R1R1R1R1R2R2R2R2R2R2R2R3R3R3R3R3R3R3R4R4R4R4R4R4R4R5R5R5R5R5R5R5R6R6R6R6R6R6R6R7R7R7R7R7R7R7R8R8R8R8R8R8R8_fiqR9R9R9R9R9R9R9_fiqR10R10R10R10R10R10R10_fiqR11R11R11R11R11R11R11_fiqR12R12R12R12R12R12R12_fiqR13R13R13_svcR13_abtR13_undR13_irqR13_fiqR14R14R14_svcR14_abtR14_undR14_irqR14_fiqPCPCPCPCPCPCPCCPSRCPSRCPSRCPSRCPSRCPSRCPSRSPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq進(jìn)入和退出異常中斷異常中斷相應(yīng)過(guò)程異常中斷返回過(guò)程安裝異常中斷處理程序異常中斷相應(yīng)過(guò)程保存處理七當(dāng)前狀態(tài)、中斷屏蔽位以及條件標(biāo)志位。設(shè)置CPSR中的相應(yīng)位,進(jìn)入相應(yīng)處理器模式;將寄存器lr設(shè)置成返回地址;將PC設(shè)置異常中斷的中斷向量地址;異常中斷相應(yīng)過(guò)程相應(yīng)復(fù)位異常中斷
R14_svc=UNPREDICTABLEvalue
SPSR_svc=UNPREDICTABLEvalue
CPSR[4:0]=0b10011
CPSR[5]=0
CPSR[6]=1
CPSR[7]=1
ifhighvectorsconfiguredthen
PC=0xFFFF0000
else
PC=0x00000000異常中斷相應(yīng)過(guò)程相應(yīng)IRQ異常中斷
R14_svc=addressofnextinstruction
SPSR_irq=CPSR
CPSR[4:0]=0b10010
CPSR[5]=0
CPSR[7]=1
ifhighvectorsconfiguredthen
PC=0xFFFF0018
else
PC=0x00000018異常中斷返回過(guò)程從SPSR_mode寄存器恢復(fù)被中斷程序的處理器狀態(tài);從lr寄存器返回到發(fā)生異常中斷指令的下一條指令處執(zhí)行;復(fù)位異常不需要返回;因?yàn)楫惓0l(fā)生時(shí)PC所指向的位置是不同的,所以返回地址對(duì)不同的異常中斷也是不一樣的;異常中斷相應(yīng)過(guò)程SWI和未定義指令異常中斷返回
;異常發(fā)生時(shí),PC指向當(dāng)前指令后面第2條指令,處理器將PC-4保存期lr_mode中,返回指令:
MOVSPC,LR
;若中斷處理程序使用了數(shù)據(jù)棧,則使用:
STMFDSP!,{reglist,lr}
;...
LDMFDSP!,{reglist,PC}^異常中斷相應(yīng)過(guò)程IRQ和FIQ異常中斷返回
;異常發(fā)生時(shí),PC指向當(dāng)前指令后面第3條指令,處理器將PC-4保存至lr_mode中,返回指令:
SUBSPC,LR,#4
;若中斷處理程序使用了數(shù)據(jù)棧,則使用:
SUBSLR,LR,#4
STMFDSP!,{reglist,lr}
;...
LDMFDSP!,{reglist,PC}^異常中斷相應(yīng)過(guò)程指令預(yù)取中止異常中斷返回
;指令預(yù)取中止異常時(shí)有當(dāng)前執(zhí)行指令英氣,應(yīng)該返回到產(chǎn)生該指令預(yù)取中止異常中斷的指令處而不是下調(diào)指令;
;異常發(fā)生時(shí),PC指向當(dāng)前指令后面第2條指令,處理器將PC-4保存至lr_mode中,返回指令:
SUBSPC,LR,#4
若中斷處理程序使用了數(shù)據(jù)棧,則使用:
SUBSLR,LR,#4
STMFDSP!,{reglist,lr}
;...
LDMFDSP!,{reglist,PC}^安裝愚異常幼中斷配處理菜程序使用BL指令綱或是LD委R指令球?qū)崿F(xiàn)??;在系滴統(tǒng)復(fù)幟位時(shí)符安裝坑異常價(jià)中斷受處理櫻程序父;在C程序山處安掌裝異嘆常中沒(méi)斷處東理程柴序;系統(tǒng)標(biāo)復(fù)位小時(shí)安獄裝處辰理程邊序地址0x米0處為RO哲M:Ve請(qǐng)ct真or誓_I咬ni獎(jiǎng)t_俘Bl唇oc斧kLD診RPC悠,R中es胖t_崖Ad抄drLD臥RPC進(jìn),U福nd險(xiǎn)ef囑in涌ed牧_A碌dd組r..芽.挽LD布RPC青,I于RQ饞_A哨dd延rLD識(shí)DPC廣,F澡IQ茂_A雖dd合rRe徹se恐t_形Ad弱drDC艇DSt莊ar黑t_益Bo姥ot..澡.IR癢Q_魔Ad寺drDC肆DIR勒Q_閘Ha貝nd孫le勞rFI摧Q_玻Ad啊drDC腳DFI恢Q_博Ha渾nd厚le騎rVe郵ct衰or肢_I渴ni奇t_釣Bl歷oc匹kBRe卻se眠t_竭Ha洗nd檢le陪rBLUn盞de竊fi困ne凳d_兵Ha樓nd依le駛rBLSW款I(lǐng)_孝Ha拒nd帽le沒(méi)rBLPr普ef就et和ch墳_H幟an上dl面erBLAb冬or六t_串Ha徑nd暢le霸rNO千P湖BLIR效Q_局Ha鵝nd腦le筆rBLFI駁Q_蒼Ha建nd塘le賀r系統(tǒng)過(guò)復(fù)位敘時(shí)安衣裝處督理程厭序地址0x額0處為RA協(xié)M:MO殺V妖R8趣,#冷0框AD握R危R9祝,V命ec打or濫_I幣ni唉t_綠Bl撐oc悅k這LD錦MI田A啞R9呢!,雷{R粘0-尺R7原}候;復(fù)制微中斷探向量ST駱MI輛A舉R8鵝!,奸{R兩0-閃R7嫂}膽LD按MI殊A娘R9蚊!,歐{R腰0-什R7杜}靠;復(fù)制協(xié)中斷胸處理壇入口睜函數(shù)像地址ST棟MI秧A連R9頌!,跟{R冶0-笨R7對(duì)}C程序頃中安辣裝處券理程輕序使用麥跳轉(zhuǎn)臺(tái)指令課:Un壟si想gn濁edIn磚st咐al云l_科Ha開(kāi)nd肺le好r(躺un晶si宴gn存edro挪ut黨in適e,仙u怖ns鑰ig摧ne海d綱*v拾ec誰(shuí)to殖r)跪{妙un相si轎gn痰edve謙c,ol致dv模ec;ve射c=香(r掏ou典ti金ne筆-v音ec杏to映r-構(gòu)0x撿8)巷>>歇2;ve嚼c=仿0x晚ea團(tuán)00喝00狠00鋤|ve腳c;ol粥dv調(diào)ec=勻*v咬ec艱to璃r;憲*v透ec金to摔r鬧=ve軌c;查r磁et笨ur鎖nol煩dv電ec;削}題un春si跪gn叢ed究*ir靠qv呢ec=心(u辛ns決ig既ne邊d饑*)滑0x啟18帶;In襖st腫al第l_準(zhǔn)Ha銹nd荒le礙r(漫(u累ns站ig旺ne豆d)居IR躲Q_撥Ha趴nd袋le糊r,叉ir鼠qv扔ec);SW采I異常困中斷宣處理增程序SW育I異常瘦中斷生處理柿程序吊的實(shí)牽現(xiàn)SW夠I異常洲中斷筒調(diào)用SW受I異常君中斷克處理圍程序遷實(shí)現(xiàn)SW婚I指令吵包含銜一個(gè)24位的喪立即虛數(shù),幼指示甩用戶(hù)爽請(qǐng)求糧的SW壞I功能巖;SW假I(mǎi)異常螺中斷創(chuàng)處理搞程序尿分兩背級(jí)實(shí)咱現(xiàn)第1級(jí)使匯用匯挽編確址定24位立蕉即數(shù)第2級(jí)具礎(chǔ)體實(shí)套現(xiàn)SW互I功能莫,可楚以是C程序SW公I(xiàn)異常吳中斷完處理冰程序唇實(shí)現(xiàn)第1級(jí)SW土I處理彎函數(shù)太模版AR避EATo接pL煉ev代el濃Sw紹i,傾CO杜DE竹,蓋RE威AD膨ON臂LY捐E金XP宏OR包TSW線I_光Ha使nd梁le薄rSW透I_楚Ha磁nd煙le隱rST給MF組D億sp穿!,樸{r猜0-羞r1湖2,海lr街}購(gòu)LD舒R改r0球,[術(shù)r1擔(dān)4,方#-羞4]濃;計(jì)算SW學(xué)I指令文地址BI恐C支r0錄,r絲式0,膠#0攪xf語(yǔ)f0襖00倚00叔0垮;獲取史立即索數(shù)BLC_雷SW潤(rùn)I_爛Ha白nd育le棒r;第2級(jí)調(diào)不用LD酷MF擠D刪sp紐奉!,場(chǎng){r典0-厲r1差2,求pc攤}(cāng)^膛;返回EN煮DSW梳I異常掌中斷鞠處理箭程序緩實(shí)現(xiàn)第2級(jí)SW綁I處理雖函數(shù)C語(yǔ)言鵲實(shí)現(xiàn)vo門(mén)idC_戶(hù)SW柜I_劣Ha療nd純le傅r(偽un哭si靠gn預(yù)ednu巷mb顯er嫁)茄{sw喊it忍ch回(n私um繼be爸r){桐c濕as崖e芳0:蒜;0號(hào)功狹能調(diào)群用br春ea殃k;革c染as震e銷(xiāo)1:址;1號(hào)功怕能調(diào)招用br掘ea紅k;太.殖..籠d窩ef悲au飽lt意:偶}抹}SW叨I異常驢調(diào)用在特闖權(quán)模拉式下隙調(diào)用SW層I時(shí),遷要注疊意保景存LR盆_s嘴vc和SP孤SR改_s姑vc寄存懇器;ST躺MF搏D任sp阿!,耕{r菌0-右r3粉,r卻12醬,l倦r}覺(jué);保存涂寄存尤器MO瘦V虛r1牧,s站p應(yīng)MR社S丹r0顯,s掌ps言r愿;保存sp深srST稻MF幕D顏sp幟!,炊{r逆0}軟L澡DR蒙r多0,個(gè)[r免14蔑,#蹄-4魂]艙;讀取SW丈I調(diào)用牲功能BI寧C情r0糾,r鍛0,釋#0襲xF降F0耽00義00駝0叮BLC_正SW穩(wěn)I_攜Ha倡nd愁le曬rLD陣MF老D謹(jǐn)sp駐!,緒{r雹0}芹;恢復(fù)sp齊srMS于R洪sp件sr裁_c啞f,架r0拖L阻DM心FD脂s紛p!替,{仰r0土-r傅3,季r1蔥2,具pc璃}^群;返回應(yīng)用先程序芬調(diào)用SW淹I匯編床實(shí)現(xiàn)SW甚I功能其調(diào)用MO統(tǒng)V膀R0騙,#減10機(jī)0南SW拐I蘋(píng)0x罵0C程序肉調(diào)用劉特定SW刑I功能__sw紙i偽指栗令申售明sw分i功能泉:__瞎sw嚇i(卵0)in杯tmu紹lt蕩ip濃ly老_t笑wo朗(i價(jià)nt,in叮t);組成型:sw肯i聲明舊、中捉斷處隙理函擋數(shù)實(shí)化現(xiàn)和穗安裝案、主右程序sw滅i功能檔調(diào)用鵲、sw營(yíng)i功能低實(shí)現(xiàn)次。舉例蜻:P2危79FI料Q雅&壤IR請(qǐng)Q異常智中斷濾處理爆程序IR敵Q/修FI司Q異常延中斷慘處理刪程序舉例IR起Q/芬FI社Q異常盈中斷領(lǐng)處理胡程序使用符關(guān)鍵習(xí)字__ir欠q聲明揀中斷漏處理展函數(shù)保存AP桂CS規(guī)定均的被魂破壞軟的寄漂存器保存償其它污使用叛到的伴寄存爬器將lr馳-4恢復(fù)作到PC,并矛且恢能復(fù)CP果SR實(shí)現(xiàn)棉中斷抵處理在函數(shù)商返回浴;匯編雹代碼IR習(xí)QH塞an預(yù)dl睬erPR西OC筆S緒TM掙FD偉S銀P!接,{顛R0剝-R拋4,校R1宴2,但lr炒}訊..洲.厘LD搏MF服D或SP母!,顏{R傳0-足R4蕉,R自12量,l模r}優(yōu)S潑UB徐S侮P(guān)C喚,L勺R(shí),常#4利E婚ND遣PIR摩Q/塌FI樂(lè)Q異常懼中斷丘處理斥程序關(guān)鍵糠字__ir延q使用蛙舉例灑:__ir壤qvo歇idIR較QH嘉an銹dl煎e(cuò)r什(v陣oi紫d)孕{伙v崗ol烤at捉il的e浩un立si鍬gn鍵edin柄t*b司as拾e溪=欣(u廁ns近ig醫(yī)ne音din匠t*)源0x嗓80母00組00概00芹if谷(*增ba尋se植=懲=抽1)塔{C_弟In沉t_寺Ha俯nd食le膨r()翼;鎖}犬*(幸ba耕se邁+城1梢)替=栽0;減}IR抗Q異常停中斷回處理球舉例SU拒B莫lr味,l獻(xiàn)r,填#4鹿;保存勒返回圈地址ST遇MF嘉Dsp腹!,胸{l反r}論MR緣瑞S投r1糊4,近SP要SR耽;保存sp繡sr沙,r努12ST度MF刮D原sp形!,帥{r奸12朵,r符14霸}陰MO屋V沫r1混2,斑#I逢nt壤Ba茶se極;讀中栽斷控勁制器爬基地嘆址LD個(gè)R凱r1制2,僻[r吳12籠,#中In府tL豈ev腹el馳]租;讀優(yōu)喉先級(jí)MR屬S扭r1究4,腔CP
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)園區(qū)給排水系統(tǒng)的設(shè)計(jì)與優(yōu)化
- 工業(yè)智能化的技術(shù)創(chuàng)新與實(shí)踐
- 工業(yè)廢水處理技術(shù)及優(yōu)化方案
- 工業(yè)安全保障生產(chǎn)現(xiàn)場(chǎng)的員工安全
- 工業(yè)生態(tài)園區(qū)的建設(shè)與管理
- 工業(yè)物聯(lián)網(wǎng)設(shè)備的安全防護(hù)與監(jiān)控
- 工業(yè)機(jī)器人故障診斷與維護(hù)管理
- 工業(yè)自動(dòng)化系統(tǒng)的創(chuàng)新與發(fā)展
- 工業(yè)自動(dòng)化中的特種電源技術(shù)應(yīng)用案例分析
- 工業(yè)自動(dòng)化與智能機(jī)器人整合方案
- 城投公司工程管理制度
- 蘇州市昆山市惠民物業(yè)管理有限公司招聘考試真題2024
- 模擬電子技術(shù)(山東聯(lián)盟-山東建筑大學(xué))知到智慧樹(shù)期末考試答案題庫(kù)2025年山東建筑大學(xué)
- 2025年中國(guó)膨潤(rùn)土貓砂項(xiàng)目投資可行性研究報(bào)告
- 給酒店提供早餐合同協(xié)議
- 2025華陽(yáng)新材料科技集團(tuán)有限公司招聘(500人)筆試參考題庫(kù)附帶答案詳解
- 《嬰幼兒游戲活動(dòng)實(shí)施》課件-項(xiàng)目2 感官游戲設(shè)計(jì)與實(shí)施 9.2 2-3歲感官游戲設(shè)計(jì)與實(shí)施
- 如何進(jìn)行稅務(wù)數(shù)據(jù)分析試題及答案
- 內(nèi)鏡中心的護(hù)理內(nèi)容
- 邊坡作業(yè)安全教育培訓(xùn)
- 動(dòng)靜脈瘺護(hù)理常規(guī)
評(píng)論
0/150
提交評(píng)論