ARM單片機(jī)三種中斷返回情況的分析與解決_第1頁
ARM單片機(jī)三種中斷返回情況的分析與解決_第2頁
ARM單片機(jī)三種中斷返回情況的分析與解決_第3頁
ARM單片機(jī)三種中斷返回情況的分析與解決_第4頁
ARM單片機(jī)三種中斷返回情況的分析與解決_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

片機(jī)三種中斷返回情況的分析與解決 片機(jī)是大多數(shù)新手選擇的入門切入點(diǎn),但由于知識的不足,在設(shè)計(jì)過程中新手們經(jīng)常會遇到這樣或那樣的問題, 常中斷返回就是這樣一種令人頭疼的問題。在使用問題中異常中斷返回是新手們較為苦惱的問題,本文就將對 常中斷的集中情況進(jìn)行總結(jié),并給出了一些解決方法。 在正式介紹之前,要為大家補(bǔ)充一些較為重要的基礎(chǔ)知識。首先 是指向 “正在取指 ”的指令,而不是指向 “正在執(zhí)行 ”的指令或正在 “譯碼 ”的指令。一般來說,人們習(xí)慣性約定將 “正在執(zhí)行的指令作為參考點(diǎn) ”,稱之為當(dāng)前第一條指令,因此 是指向第三條指令。當(dāng) 態(tài)時,每條指令為 4 字節(jié)長,所以 終指向該指令地址加 8 字節(jié)的地址,即: =當(dāng)前程序執(zhí)行位置 +8;而 的 為了調(diào)試看著方便而修改過的,它指向的是正在執(zhí)行的指令,即 “真正 未定義指令異常中斷的返回 指令 地址: A 前指令為 未定義指令,此時發(fā)生中斷 A+4 斷時處理器將 存到 ;r! A+8 回時,從發(fā)生中斷的指令 A( 下一條指令 A+4( 開始執(zhí)行,所以直接把 值賦給 行了,具體指令為 C, +4= 白話解釋:對于 未定義指令發(fā)生異常時 有更新,根據(jù) 三級流水線原理, 有更新,仍然等于( A+8) ; 4(這時處理器決定的,無法更 改!)即A+4。 由于這類異常返回后應(yīng)執(zhí)行下一條指令( A+4),所以返回時, pc=可。 常中斷處理的返回指令地址對應(yīng)于 ,行此指令完成后(!)查詢 果有中斷請求則產(chǎn)生中斷。 A+4 +8 (此時 值已經(jīng)更新,指向 A+A+8)。 保存到 接著執(zhí)行 A+4( 的指令,所以返回指令為: C, #4( +4= 白話解釋: 對于普中斷和快中斷異常,中斷必須在一條指令執(zhí)行完以后被檢測到,如正在執(zhí)行指令甲時發(fā)生了中斷,不等指令甲執(zhí)行完是不會處理該中斷的,發(fā)生異常時 A+12) ; lr=4(這時處理器決定的,無法更改?。┘?A+8 返回后,應(yīng)執(zhí)行被中斷而沒有執(zhí)行的指令(上面的A+4),所以返回時, 指令預(yù)取中止異常中斷處理的返回 指令地址: A 行本指令時發(fā)生中斷, A+4 理器將 A+4( 存到: ;A+8 回時,發(fā)生指令預(yù)取中 止的指令 A( 重新執(zhí)行,所以返回指令為 C, #4( = 白話解釋:對于預(yù)取指令中止異常發(fā)生預(yù)取指令異常時,是在執(zhí)行時發(fā)生的異常, 更新,即 +8;lr= 4(這時處理器決定的,無法更改?。┘?A+4。 由于這類異常返回后應(yīng)重新執(zhí)行異常的那個指令( A),所以返回時, 數(shù)據(jù)訪問中止異常中斷處理的返回 指令地址: A 指令訪問有問題的數(shù)據(jù),產(chǎn)生中斷時, 值已經(jīng)更新。 A+4 斷發(fā)生時 +12,處理器將 A+8( 存到 A+8 返回時,要返回到 A 處繼續(xù)執(zhí)行,所以指令為 C,#8.( = 白話解釋:對于數(shù)據(jù)訪問中止異常時,是在執(zhí)行時訪問數(shù)據(jù)錯誤。 導(dǎo)致的異常, 經(jīng)更新,即 +12。 lr=(這時處理器決定的,無法更改?。┘?A+8。 由于這類異常返回后應(yīng)重新執(zhí)行異常的那個指令( A),所以返回時, pc= 總結(jié) 引起 新的原因一種是數(shù)據(jù)中止,還有就是中斷了。 中斷必須是在一條指令執(zhí)行完畢后才能被檢測到,所以它中斷的只是還未執(zhí)行的那條。指令( 所以 pc= 4; 與中斷相同, 未定義指令異常也是返回到下一條指令( 只是他們在執(zhí)行時, 值并沒有更新,所以 預(yù)取指令中止異常,也沒有發(fā)生 新,但它還得重新執(zhí)行發(fā)生異常的那條指令,所以 pc=。 數(shù)據(jù)訪問中止異常,發(fā)生了 新,并且它也需要重新執(zhí)行發(fā)生異常的那條指令,所以 pc=。 通過以上的介紹,可以看到造成單片機(jī)中斷返回的原因非常多 ,每種方法的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論