在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

當ARM異常中斷發生時的處理措施

STM32嵌入式開發 ? 來源:STM32嵌入式開發 ? 2020-08-27 14:21 ? 次閱讀

ARM異常中斷發生時,系統執行完當前指令后,將跳轉到相應的異常中斷處理程序處執行。當異常中斷處理程序執行完成后,程序返回到發生中斷指令的下條指令處執 行。在進入異常中斷處理程序時,要保存被中斷程序的執行現場,從異常中斷處理程序退出時,要恢復被中斷程序的執行現場。

1、引起異常的原因 對于ARM核,可以且只能識別7種處理器異常,每種異常都對應一種ARM處理器模式,當發生異常時,ARM處理器就切換到相應的異常模式,并調用異常處理 程序進行處理。

(1)、指令執行引起的異常 軟件中斷、未定義指令(包括所要求的協處理器不存在是的協處理器指令)、預取址中止(存儲器故障)、數據中止。

(2)、外部產生的中斷 復位、FIQ、IRQ。

2、ARM中異常中斷的種類

(1)、復位(RESET)

a、當處理器復位引腳有效時,系統產生復位異常中斷,程序跳轉到復位異常中斷處理程序處執行,包括系統加電和系統復位。

b、通過設置PC跳轉到復位中斷向量處執行稱為軟復位。

(2)、未定義的指令 當ARM處理器或者是系統中的協處理器認為當前指令未定義時,產生未定義的指令異常中斷,可以通過改異常中斷機制仿真浮點向量運算。

(3)、軟件中斷 這是一個由用戶定義的中斷指令(SWI)。可用于用戶模式下的程序調用特權操作指令。在實時操作系統中可以通過該機制實現系統功能調用。

(4)、指令與取終止(Prefech Abort) 如果處理器預取的指令的地址不存在,或者該地址不允許當前指令訪問,當被預取的指令執行時,處理器產生指令預取終止異常中斷。

(5)、數據訪問終止(DATAABORT) 如果數據訪問指令的目標地址不存在,或者該地址不允許當前指令訪問,處理器產生數據訪問終止異常中斷。

(6)、外部中斷請求(IRQ) 當處理器的外部中斷請求引腳有效,而且CPSR的寄存器的I控制位被清除時,處理器產生外部中斷請求異常中斷。系統中個外設通過該異常中斷請求處理服務。

(7)、快速中斷請求(FIQ) 當處理器的外部快速中斷請求引腳有效,而且CPSR的F控制位被清除時,處理器產生外部中斷請求異常中斷。

3、異常的響應過程 除了復位異常外,當異常發生時,ARM處理器盡可能完成當前指令(除了復位異常)后,再去處理異常。并執行如下動作:

(1)、將引起異常指令的下一條指令的地址保存到新模式的R14中,若異常是從ARM狀態進入,LR寄存器中保存的是下一條指令的地址(當前PC+4或 PC+8,與異常的類型有關);若異常是從Thumb狀態進入,則在LR寄存器中保存當前PC的偏移量,這樣,異常處理程序就不需要確定異常是從何種狀態 進入的。例如:在軟件中斷異常SWI,指令MOV PC,R14_svc總是返回到下一條指令,不管SWI是在ARM狀態執行,還是在Thumb狀 態執行。

(2)、將CPSR的內容保存到要執行異常中斷模式的SPSR中。

(3)、設置CPSR相應的位進入相應的中斷模式。

(4)、通過設置CPSR的第7位來禁止IRQ。如果異常為快速中斷和復位。則還要設置CPSR的第6位來禁止快速中斷。

(5)、給PC強制賦向量地址值。上面的異常處理操作都是由ARM核硬件邏輯自動完成的,程序計數器PC總是跳轉到相應的固定地址。如果異常發生時,處理器處于Thumb狀態,則當異常向量地址加載入PC時,處理器自動切換到ARM狀態,則異常處理返回時,自動切換到Thumb狀態。

4、異常中斷處理返回 異常處理完畢之后,ARM微處理器會執行以下幾步操作從異常返回:

(1)、將所有修改過的用戶寄存器從處理程序的保護棧中恢復。

(2)、將SPSR復制回CPSR中,將連接寄存器LR的值減去相應的偏移量后送到PC中。

(3)、若在進入異常處理時設置了中斷禁止位,要在此清除。復位異常處理程序不需要返回。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19833

    瀏覽量

    233896
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9325

    瀏覽量

    375629
  • 存儲器
    +關注

    關注

    38

    文章

    7640

    瀏覽量

    166636

原文標題:ARM異常中斷的原因及處理措施

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    33250A信號發生器通訊異常?維修案例分享

    近期某客戶送修一臺安捷倫33250A安捷倫信號發生器,報修故障是通訊異常,隨后工程師進行拆機檢測,發現與客戶報修故障一致。
    的頭像 發表于 04-27 17:50 ?194次閱讀
    33250A信號<b class='flag-5'>發生</b>器通訊<b class='flag-5'>異常</b>?維修案例分享

    請問Nuclei用戶模式如何切換回機器模式?

    N級別處理器內核從User Mode切換到Machine Mode只能通過異常、響應中斷或者NMI的方式發生: 響應異常進入
    發表于 03-07 16:14

    電力系統應急處理措施

    的重要性 電力系統應急處理是指在電力系統發生突發事件時,采取的一系列措施以最小化事件對電力供應的影響。這些突發事件可能包括自然災害、設備故障、人為破壞等。有效的應急處理
    的頭像 發表于 01-18 09:42 ?1083次閱讀

    串口通訊異常處理方法 串口設備連接方式

    串口通信異常處理方法 1. 異常檢測 在串口通信中,首先需要能夠檢測到異常情況。異常檢測可以通過以下幾種方式實現: 硬件檢測 :利用串口硬件
    的頭像 發表于 12-27 09:53 ?3818次閱讀

    單片機有哪些中斷類型

    單片機中斷是指在單片機執行程序的過程中,外部設備或內部條件發生某個特定事件時,能夠暫停當前正在執行的程序,轉而去執行一個特定的服務程序(稱為中斷服務程序或
    的頭像 發表于 10-17 18:12 ?2272次閱讀

    控制器發生故障時應該如何處理

    控制器發生故障時,可以采取以下步驟進行處理: 一、初步檢查與診斷 檢查電源連接 : 確認控制器的電源線路是否連接正常,有無松動或短路現象。 檢查電源開關是否處于正常狀態,是否損壞或堵塞。 觀察故障
    的頭像 發表于 10-17 13:55 ?3003次閱讀

    電動機運行不穩定及轉速異常故障處理方法

    電動機的轉速不穩定或者出現異常時,首先需要檢查的是電源電壓是否波動。不穩定的電源電壓會使電動機的轉速發生變化,從而影響其正常運行。在某次對電源質量要求較高的設備上,就曾遇到過因電源電壓波動導致
    的頭像 發表于 09-14 17:25 ?2506次閱讀

    ARM處理器的工作模式和特點

    ARM處理器具有多種工作模式,這些模式根據處理器執行的任務和當前的狀態進行劃分。常見的ARM處理器工作模式包括用戶模式(User Mode)
    的頭像 發表于 09-10 11:22 ?2175次閱讀

    ARM處理器的異常中斷響應過程

    ARM處理器的異常中斷響應是嵌入式系統設計中一個至關重要的環節,它確保了系統在面對內部或外部事件時能夠穩定、可靠地運行。
    的頭像 發表于 09-10 11:18 ?1882次閱讀

    【「ARM MCU嵌入式開發 | 基于國產GD32F10x芯片」閱讀體驗】+閱讀中斷

    一、前言 《ARM MCU嵌入式開發 | 基于國產GD32F10x芯片》覆蓋的知識點非常全面,中斷在嵌入式開發中是必不可少的,尤其是裸板程序,也就是前后臺系統的項目開發。中斷是一種外設和處理
    發表于 09-01 23:59

    Panasonic松下焊接電異常處理

    電子發燒友網站提供《Panasonic松下焊接電異常處理.pdf》資料免費下載
    發表于 08-19 14:24 ?0次下載

    ARM異常有哪些?ARM異常向量表基地址

    我們先回憶一下在單片機上的中斷的使用。
    的頭像 發表于 08-07 09:22 ?1902次閱讀
    <b class='flag-5'>ARM</b>的<b class='flag-5'>異常</b>有哪些?<b class='flag-5'>ARM</b>的<b class='flag-5'>異常</b>向量表基地址

    嵌入式C編程常用的異常錯誤處理

    。 3. 中斷服務程序 (Interrupt Service Routines, ISR) 在嵌入式系統中,中斷處理異常情況的常用方法。ISR用于
    發表于 08-06 14:32

    plc突然斷電會導致什么異常

    PLC(Programmable Logic Controller,可編程邏輯控制器)是一種廣泛應用于工業自動化領域的控制器。PLC突然斷電時,可能會導致一些異常情況,這些異常情況可能
    的頭像 發表于 07-25 10:11 ?2622次閱讀

    一站式統一返回值封裝、異常處理異常錯誤碼解決方案—最強的Sping Boot接口優雅響應處理

    1. 前言 統一返回值封裝、統一異常處理異常錯誤碼體系的意義在于提高代碼的可維護性和可讀性,使得代碼更加健壯和穩定。統一返回值封裝可以避免每一個接口都需要手工拼裝響應報文;統一異常
    的頭像 發表于 06-20 15:42 ?910次閱讀
    主站蜘蛛池模板: 综合天天 | 欧美一区二区三区在线观看 | 午夜视频在线观看免费高清 | 四虎最新永久在线精品免费 | 色综合久久久久久久久五月性色 | 日日夜夜精品 | www.亚洲欧美 | 多男一女一级淫片免费播放口 | aa视频在线观看 | 毛片色毛片18毛片美女 | 国产成人无精品久久久久国语 | 国产骚b| 四虎影院永久地址 | 国产精品你懂得 | 精品一区 二区三区免费毛片 | 欧美zoozzooz在线观看 | 老熟女一级毛片 | 乱色伦肉小说 | 在线色综合 | 色综合成人丁香 | 国产精品午夜久久 | 好大好紧好爽好湿润视频 | 亚洲欧美在线精品一区二区 | 精品视频一区二区三区四区五区 | 天天做天天爱天天干 | 日本高清视频一区 | 性欧美高清精品videos | 久久青草精品一区二区三区 | 久久精品国产免费高清 | 国产产一区二区三区久久毛片国语 | aaa免费视频 | 欧美一级乱理片免费观看 | 精品伊人久久大香线蕉网站 | 免费a级毛片出奶水 | 真实一级一级一片免费视频 | 欧美亚洲第一区 | 亚欧乱色束缚一区二区三区 | 四虎影视网站 | 日韩在线免费看网站 | 国产黄大片在线观看 | 欧美刺激午夜性久久久久久久 |