那曲檬骨新材料有限公司

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

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

3天內不再提示

ARM中的5種異常模式和7種中斷源

GReq_mcu168 ? 來源:未知 ? 作者:李倩 ? 2018-08-27 17:45 ? 次閱讀

ARM中有5種異常模式,有7種中斷源。這7種中斷源中有些中斷是我們希望發生的,但有些中斷是我們不希望發生的。

我們希望發生的中斷:

軟中斷:屬于svc模式,通過SWI指令便可以產生軟中斷,進入到svc模式。

irq中斷:屬于irq模式,當產生普通的外部中斷時,處理器便進入到IRQ模式。

fiq中斷:屬于fiq模式,當產生高優先級外部中斷時,處理器便進入到FIQ模式。

我們不希望發生的中斷:

復位:屬于svc模式,當系統上電時便會產生復位中斷,系統進入到svc模式。復位中斷不需要中斷返回。

取指中止中斷:屬于abt模式,當預取指發生錯誤時,便產生取指中止中斷,進入到abt模式。

數據中止中斷:屬于abt模式,當訪問數據存儲器時,便產生數據中止中斷,進入到abt模式。

未定義指令中斷:屬于und模式,當執行到一條未定義指令時,便產生未定義指令中斷,系統進入到und模式。

中斷的優先級:

ARM中有6個優先級。各個中斷的優先級順序如下:(1 6 6s 5 2 4 3)

復位: 1數據中止中斷:2fiq中斷:3irq中斷:4預取址中止中斷:5未定義指令中斷和軟中斷:6

關于各種中斷在中斷返回時還需要給LR減去一個不同的偏移量的問題我覺得沒必要深入研究了,這還要涉及到ARM指令的流水線技術,平時寫中斷代碼都是用C寫的,沒必要知道這個。用到時再去查表即可。

處理器在進入異常和退出異常時所做的工作:

進入異常時:

1、將要返回處的地址保存在對應異常模式的LR中。(復位不需要保存返回地址)2、將cpsr的內容復制到對應異常模式的spsr中。3、強制修改cpsr的內容,進入到相應異常模式以及根據需要修改某些位。4、強制PC從相應的中斷向量地址處進行取址。

注:以上這些步驟都是有cpu自動完成的,也就是當有中斷產生時,硬件就會自動完成上述步驟。

退出異常時:

1、將LR中保存的地址賦給PC。2、將spsr的內容恢復給cpsr。3、將irq中斷禁止位清零。

注:只需要在異常處理程序中寫一句返回指令(如上面的表4.1所示)即可全部實現上述的步驟。


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

    關注

    134

    文章

    9165

    瀏覽量

    369192
  • 中斷
    +關注

    關注

    5

    文章

    900

    瀏覽量

    41751

原文標題:ARM中的異常和中斷

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ARM異常處理流程

    在學習與開發ARM處理器的過程,一個不能繞開的話題就是異常處理流程。它在ARM的體系架構,占據著不可動搖的重要地位。此處就以Coterx
    發表于 10-14 16:15

    淺談ARM體系CPU的7工作模式

    模式之外的其他5模式又統稱為異常模式。它們除了可以通過在特權下的程序切換進入外,也可以由特定的異常
    發表于 11-24 11:34

    簡述ARM的2工作狀態和7工作模式

    寄存器的賦值來切換的。Tips:當處理器運行在用戶模式下,某些被保護的系統資源是不能被訪問的。除用戶模式外,其余6工作模式都屬于特權模式;
    發表于 08-20 12:30

    ARM的2工作狀態和7工作模式。[附帶文檔下載]

    寄存器的賦值來切換的。Tips:當處理器運行在用戶模式下,某些被保護的系統資源是不能被訪問的。除用戶模式外,其余6工作模式都屬于特權模式;
    發表于 08-20 09:14

    ARM體系的七工作模式分別是哪些

    ARM體系的七工作模式如下:狀態碼工作模式特權模式異常模式說明 10000用戶
    發表于 12-15 07:52

    教你一ARM處理異常中斷的方法

    表的入口是一些跳轉指令,跳轉到專門處理某個異常中斷的子程序。異常分類要進入異常模式,一定要有異常
    發表于 08-18 15:26

    在SWI軟中斷指令LR中放的是異常模式下的返回地址求解

    請問:在 SWI 軟中斷指令,LR 中放的是異常模式下的返回地址,而這個地址的低 8 位和低 24 位分別是 thumb 和 ARM指令下的立即數,這種對應的關系是如何來的 還有執行
    發表于 02-27 10:16

    ARM處理器7工作模式

    寄存器的賦值來切換的。 Tips:當處理器運行在用戶模式下,某些被保護的系統資源是不能被訪問的。 除用戶模式外,其余6工作模式都屬于特權模式
    發表于 12-15 10:15

    ARM體系異常中斷及其應用

    ARM體系異常中斷及其應用
    發表于 09-22 16:51 ?4次下載
    <b class='flag-5'>ARM</b>體系<b class='flag-5'>中</b>的<b class='flag-5'>異常中斷</b>及其應用

    arm處理器異常模式有哪些

    所謂異常就是正常的用戶程序被暫時中止,處理器就進入異常模式,例如響應一個來自外設的中斷,或者當前程序非法訪問內存地址都會進入相應異常模式。
    發表于 11-02 12:57 ?1.9w次閱讀
    <b class='flag-5'>arm</b>處理器<b class='flag-5'>異常模式</b>有哪些

    淺談ARM體系CPU的7工作模式

    特權模式除系統(system)模式之外的其他5模式又統稱為
    發表于 11-08 14:05 ?2625次閱讀

    ARM處理器的異常模式

    關于“進入異常”:在異常發生后,ARM7TDMI內核會作以下工作:
    發表于 07-21 09:10 ?2802次閱讀
    <b class='flag-5'>ARM</b>處理器的<b class='flag-5'>異常模式</b>

    arm處理器的異常模式包括哪些

    正確處理,處理器可能會崩潰或數據損毀。ARM處理器有七異常模式,即:重置模式、用戶模式、FIQ模式
    的頭像 發表于 09-05 16:22 ?2872次閱讀

    arm處理器有哪些中斷?arm處理器對異常中斷的響應過程

    arm處理器有哪些中斷?arm處理器對異常中斷的響應過程? ARM處理器是一
    的頭像 發表于 10-19 16:35 ?1536次閱讀

    arm中斷是怎么實現的

    ARM中斷的實現是通過中斷控制器和異常模式實現的。ARM處理器通過中斷控制器來接收和處理外部的
    的頭像 發表于 01-05 15:18 ?971次閱讀
    百家乐博赌场| 百家乐存1000送| 威尼斯人娱乐城官方网| 足球赌网| 澳门百家乐官网开户投注| 长春百家乐官网的玩法技巧和规则 | 兴国县| 百家乐官网赌马| 百家乐公式球打法| 大发888怎么申请账号| 潮州市| 黄金城百家乐官网免费下载| 谁会玩百家乐的玩法技巧和规则 | 百家乐官网专打方法| 德晋百家乐的玩法技巧和规则| 澳门百家乐职业赌客| 免费百家乐官网规则| 百家乐前四手下注之观点| 永利赌场| 免佣百家乐官网的玩法| 网上百家乐| 棋牌游戏大厅下载| 总统娱乐城返水| 百家乐官网怎么玩能赢钱| 百家乐庄闲作千| 现金网开户送彩金| 百家乐官网专业赌博| 长方形百家乐筹码| 菲律宾太阳城官方网| 汇丰百家乐官网的玩法技巧和规则| 百家乐翻天粤语版| 95博彩通| 百家乐娱乐城送分| 娱乐城开户送现金| 成人百家乐官网的玩法技巧和规则 | 巴黎人百家乐的玩法技巧和规则| 百家乐官网真人游戏网| 打百家乐庄闲的技巧| 百家乐官网平台开发| 网络百家乐漏洞| 实战百家乐十大取胜原因百分百战胜百家乐不买币不吹牛只你能做到按我说的.百家乐基本规则 |