日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

arm中断保护和恢复_浅谈ARM处理器的七种异常处理

發布時間:2025/3/12 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arm中断保护和恢复_浅谈ARM处理器的七种异常处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

昨天的文章,我們談了ARM處理器的七種運行模式,分別是:用戶模式User(usr),系統模式System(sys),快速中斷模式(fiq),管理模式Supervisor(svc),外部中斷模式(irq),數據訪問中止模式Abort(abt),未定義指令中止模式Undfined(und)。

今天我們來談談ARM處理器所支持的七種異常處理。

ARM處理器的異常

當程序在正常執行過程中,出現暫時停止時,我們稱之為發生了異常。比如說,在程序執行過程中,接到一個外部的中斷申請。

處理器在接到中斷申請之后,一般要經過下面的步驟:

  • 保留當前處理器狀態;
  • 處理中斷;
  • 返回中斷前狀態,繼續執行中斷前程序。
  • 當有多個中斷同時申請時,處理器將按照優先級,順次進行處理。

    需要指出的是,異常并不完全等同與中斷,中斷只是ARM所支持異常類型的一種。

    ARM所支持的異常類型

    ARM體系處理器支持的異常處理有7種,下表列出了ARM體系處理器支持的異常及各異常的含義。

    • 復位

    在復位電平有效時,就會產生復位異常,程序跳轉到復位處理程序處執行。復位向量地址是0x00000000開始連續四個字節。復位異常通常用在:系統加電時,系統復位時,跳轉到復位向量地址。

    • 未定義指令

    當遇到不能處理的指令時,產生未定義指令異常。向量地址為:0x00000004開始連續四個字節。

    • 軟件中斷

    執行SWI指令產生,用于用戶模式下的程序調用特權操作指令。在實時操作系統(RTOS)中可以通過該機制實現系統功能調用。向量地址為:0x00000008開始連續四個字節。

    • 指令預取中止

    處理器預取指令的地址不存在,或該地址不允許當前指令訪問,產生此類異常。向量地址為:0x0000000C開始連續四個字節。

    • 數據中止

    處理器數據訪問指令的地址不存在,或該地址不允許當前指令訪問時,產生數據中止異常。向量地址為:0x00000010開始連續四個字節。

    • IRQ

    外部中斷請求有效,且CPSR中的I位為0時,產生IRQ異常。向量地址為:0x00000018開始連續四個字節。

    • FIQ

    快速中斷請求引腳有效,且CPSR中的F位為0時,產生FIQ異常。向量地址為:0x0000001C開始連續四個字節。

    ARM處理器對異常的響應過程

    如果一個異常出現,復位異常會立即中止當前指令執行,除此之外的其他異常,處理器會盡可能完成當前指令,然后再去處理異常。對異常的響應一般分為以下幾步:

  • 保存下一條指令的地址(PC)到相應連接寄存器LR_mode中,當處理完異常返回時,從異常發生前的地址處,重新開始執行。
  • 將CPSR的內容復制到,將要執行的異常模式對應的SPSR_中。
  • 設置當前狀態寄存器CPSR的相關位。
  • 強制PC從相關的異常向量地址,取下一條指令執行,從而跳轉到相應的異常處理程序處。
  • ARM處理器從異常處理中返回過程

    在處理完異常之后,恢復用戶任務的正常執行,即從異常處理中返回。ARM處理器從異常中返回,一般分為以下幾步:

  • 從處理程序的保護堆棧中,恢復異常處理中用過的用戶寄存器。
  • 將相應SPSR_內容復制回CPSR中,以恢復異常出現前的程序狀態。若在進入異常處理時設置了中斷控制位,要在此時清除。
  • 將連接寄存器LR_的值減去相應的偏移量后送到PC中。
  • 小結

    今天我們談了ARM處理器的七種異常情況,并介紹了對異常的響應過程,和返回過程。深入了解今天的內容,是使用ARM處理器實現嵌入式系統編程的前提。

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的arm中断保护和恢复_浅谈ARM处理器的七种异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。