衡阳派盒市场营销有限公司

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

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

3天內不再提示

ARM體系中異常中斷種類及處理辦法

MCU開發加油站 ? 來源:未知 ? 作者:胡薇 ? 2018-04-25 11:08 ? 次閱讀

ARM體系中,通常有以下3種方式控制程序的執行流程:

? 在正常程序執行過程中,每執行一條ARM指令,程序計數器寄存器(PC)的值加4個字節;每執行一條Thumb指令,程序計數器寄存器(PC)的值加2個字節。整個過程是順序執行。

? 通過跳轉指令,程序可以跳轉到特定的地址標號處執行,或者跳轉到特定的子程序處執行。其中,B指令用于執行跳轉操作;BL指令在執行跳轉操作的同時,保存子程序的返回地址;BX指令在執行跳轉操作的同時,根據目標地址的最低位可以將程序狀態切換到Thumb狀態;BLX指令執行3個操作:跳轉到目標地址處執行,保存了子程序的返回地址,根據目標地址的最低位可以將程序狀態切換到Thumb狀態。

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

ARM體系中異常中斷種類:

? 復位(Reset):當處理器的復位引腳有效時,系統產生復位異常中斷,程序跳轉到復位異常中斷處理程序處執行。復位異常中斷通常用在下面兩種情況:系統加電時和系統復位時。跳轉到復位中斷向量處執行,稱為軟復位。

? 未定義指令(Undefined Instruction):當ARM處理器或者是系統中的協處理器認為當前指令未定義時,產生未定義的指令異常中斷。

? 軟件中斷(Software Interrupt SWI):這是一個由用戶定義的中斷指令??捎糜谟脩裟J较碌某绦蛘{用特權操作指令。在實時操作系統中可以通過該機制實現系統功能調用。

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

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

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

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

對異常中斷的響應過程(這幾點都是ARM核自己已經完成的動作):

? 保存處理器當前狀態、中斷屏蔽位以及各條件標志為。這是通過將當前程序狀態寄存器CPSR的內容保存到將要執行的異常中斷對應的SPSR寄存器中實現的。各異常中斷有自己的物理SPSR寄存器。

? 設置當前程序狀態寄存器CPSR中相應的為。包括:設置CPSR中的位,使處理器進入當前相應的執行模式(處理器模式);設置CPSR中的位,禁止IRQ中斷,當進入FIQ模式時,禁止FIQ中斷。

? 將寄存器lr_mode設置成返回地址。

? 將程序計數器值(PC),設置成該異常中斷的中斷向量地址,從而跳轉到相應的異常中斷處理程序處執行。

從異常中斷處理程序中返回(這些返回動作是需要自己寫代碼完成的):

? 恢復被中斷的程序的處理器狀態,即將SPSR_mode寄存器內容復制到CPSR中。

? 返回到發生異常中斷的指令的下一條指令執行,即將lr_mode寄存器的內容復制到程序計算器PC中。

復位異常中斷處理程序不需要返回。在復位異常中斷處理程序開始整個用戶程序的執行,因而它不需要返回。

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

    關注

    31

    文章

    5363

    瀏覽量

    121158
  • ARM處理器
    +關注

    關注

    6

    文章

    361

    瀏覽量

    41936

原文標題:ARM異常中斷處理

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ARM中斷體系和ZYNQ中斷體系詳解

    01、ARM中斷體系ARM體系,在存儲地址的低位,固化了一個32字節的硬件
    的頭像 發表于 11-27 11:01 ?6447次閱讀
    <b class='flag-5'>ARM</b><b class='flag-5'>中斷</b><b class='flag-5'>體系</b>和ZYNQ<b class='flag-5'>中斷</b><b class='flag-5'>體系</b>詳解

    ARM S3C4510B系統異常中斷有什么特點?

    處理器模式和內部多線程和外部多處理器的處理器結構。在嵌入式系統具有重要意義的異常中斷技術在S3C4510B系統
    發表于 03-31 07:59

    ARM異常中斷處理流程分析

    現場,在從異常中斷處理程序退出時,要恢復被中斷的程序的執行現場。本文討論ARM體系
    發表于 08-28 08:09

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

    時間內響應中斷次數。二、異常源在ARM體系結構,存在7種異常
    發表于 08-18 15:26

    ARM處理中斷處理的編程實現

    摘要:本文首先簡要概述了ARM處理器的異常中斷種類、響應和返回過程;然后重點討論了中斷解析程序的原理和實現,并分別給出了普通中斷和向量
    發表于 03-11 12:18 ?916次閱讀
    <b class='flag-5'>ARM</b><b class='flag-5'>處理</b>器<b class='flag-5'>中斷</b><b class='flag-5'>處理</b>的編程實現

    ARM體系異常中斷及其應用

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

    ARM處理器編程模型之異常中斷處理分析

    3.4 異常中斷處理 異常中斷是用戶程序中最基本的一種執行流程和形態。這部分主要對ARM架構下的異常中
    發表于 10-18 13:29 ?1次下載

    ARM S3C4510B系統的異常中斷機制解析

    本文介紹A了RM S3C4510B系統 的 異常中斷 機制,包括異常中斷的分類,響應與返回;中斷處理程序的安裝與調用;SWI,IRQ中斷的實
    發表于 02-03 05:32 ?1815次閱讀
    <b class='flag-5'>ARM</b> S3C4510B系統的<b class='flag-5'>異常中斷</b>機制解析

    ARM異常中斷問題詳情分析總結

    ARM異常中斷的類型問題分析總結 一、ARM異常中斷的類型:
    發表于 04-05 10:51 ?1333次閱讀

    ARM異常中斷的原因及處理措施

    ARM異常中斷發生時,系統執行完當前指令后,將跳轉到相應的異常中斷處理程序處執行。當異常中斷處理
    的頭像 發表于 06-17 10:05 ?8196次閱讀

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

    外部中斷請求(IRQ) 當處理器的外部中斷請求引腳有效,而且CPSR的寄存器的I控制位被清除時,處理器產生外部中斷請求異常中斷。系統
    的頭像 發表于 08-27 14:21 ?2664次閱讀

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

    異常中斷發生時,程序將當前執行指令的下一條指令的地址存入新的異常模式的鏈接寄存器LR(R14_),以便程序在異常處理完后,能
    發表于 10-18 17:25 ?956次閱讀

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

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

    ARM異常中斷是如何實現進入中斷程序的?如何進入呢?

    ARM異常中斷是如何實現進入中斷程序的?如何進入呢? 在計算機系統,異常
    的頭像 發表于 10-19 16:36 ?1112次閱讀

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

    ARM處理器的異常中斷響應是嵌入式系統設計中一個至關重要的環節,它確保了系統在面對內部或外部事件時能夠穩定、可靠地運行。
    的頭像 發表于 09-10 11:18 ?1142次閱讀
    鼎龙百家乐的玩法技巧和规则| 全讯网sp| 百家乐官网网上真钱娱乐网| 鸿利国际| 大发888在线娱乐城合作伙伴| 百家乐技论坛| 2024年九宫八卦吉位| 百家乐官网现金平台排名| 大发888棋牌游戏下载| 百家乐官网博彩资讯论坛| 998棋牌游戏下载| 澳门百家乐路单怎么看| 百家乐官网娱乐城代理| 大发888英皇国际| 赌场百家乐代理| 百家乐官网娱乐平台真人娱乐平台| 明升国际娱乐城| 顶级赌场网址| 闲和庄百家乐娱乐| 百家乐最新投注方法| 太子百家乐官网的玩法技巧和规则 | 百家乐是多少个庄闲| 狮威百家乐官网娱乐| 百家乐官网笑话| 澳门百家乐官网小游戏| 评测百家乐官网博彩网站| 在百家乐官网二庄两闲揽的概率| 赌博百家乐官网的路单| 英皇娱乐| 网上娱乐城注册送现金| 赚钱的棋牌游戏| 德州扑克小说| 大发888棋牌官网| 百家乐学院| 百家乐槛| 威尼斯人娱乐城赌场| 大发888娱乐城游戏| 顶级赌场手机版官方下载| 大发888备用a99.com| 大发888充值500| 老虎机破解方法|