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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[ARM异常]-ARM Core如何响应中断的

發布時間:2025/3/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [ARM异常]-ARM Core如何响应中断的 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

快速鏈接:
.
👉👉👉 個人博客筆記導讀目錄(全部) 👈👈👈
.
說明:
在默認情況下,本文講述的都是ARMV8-aarch64架構,linux kernel 64位
.
自制ARM中斷\linux中斷\gic中斷控制器視頻:

目錄

        • 1、51單片機的中斷響應模型
        • 2、ARM的異常有哪?
        • 3、ARM的異常向量表基地址
        • 4、ARM的向量表offset


1、51單片機的中斷響應模型

我們先回憶一下在單片機上的中斷的使用。

如下圖所示,左邊是51單片機的管腳圖,P3.0-P3.5是單片機對應的中斷管教,當該管教電平發生變化時,觸發cpu異常。
當cpu來了一個異常時(中斷),cpu跳轉到異常向量地址處,執行handler函數,執行完畢后再回來

那么cpu異常時,跳轉的是哪個地址呢,其實這都是cpu出廠時設計好的。如下圖所示,左邊是cpu設計好的異常向量表基地址。右邊是軟件對異常的處理。
當來了一個uart中斷時,cpu觸發異常跳轉到0023地址處,而該地址處執行LJMP UART0_ISR指令,跳轉UART0_IAR函數去處理中斷…

2、ARM的異常有哪?

  • 在ARMV7上,ARM異常有:RESET、swi、undef、prefetch、data abort、irq、fiq
    其中RESET、swi是同步異常,其余是異步異常
  • 在ARMV8上,ARM異常有serror、irq、fiq、Synchronous
    其中Synchronous是同步異常,serror、irq、fiq是異步異常

解釋一下什么是同步異常什么是異步異常?

  • 同步異常:軟件觸發行為、知道什么時候發生 例如:svc、smc、hyc指令觸發的都是同步異常
  • 異步異常:軟硬件行為,不知道什么時候發生,發生時間是隨機的 例如:irq中斷觸發irq異常、fiq中斷觸發fiq異常…

當異常發生了,ARM CORE就要跳轉到異常向量表地址處了。其實是跳轉到:異常基地址 + 異常向量表偏移處

3、ARM的異常向量表基地址

(1)、ARMV7的異常向量表基地址
主要為VBAR、HVBAR、MVBAR三個寄存器,其中VBAR是banked.

(2)、ARMV8的異常向量表基地址
主要為VBAR_EL1、VBAR_EL2、VBAR_EL3三個寄存器

4、ARM的向量表offset

(1)、armv7的異常向量表的定義
其實在armv7上有多張異常向量表,下圖分別列舉出在secure、non-secure側的兩張異常向量表


(2)、在armv8上異常向量表

實際上有四組表,每組表有四個異常入口,分別對應同步異常,IRQ,FIQ和出錯異常。

  • 如果發生異常并不會導致exception level切換,并且使用的棧指針是SP_EL0,那么使用第一組異常向量表。
  • 如果發生異常并不會導致exception level切換,并且使用的棧指針是SP_EL1/2/3,那么使用第二組異常向量表。
  • 如果發生異常會導致exception level切換,并且比目的exception level低一級的exception
    level運行在AARCH64模式,那么使用第三組異常向量表。
  • 如果發生異常會導致exception level切換,并且比目的exception level低一級的exception
    level運行在AARCH32模式,那么使用第四組異常向量表。

另外我們還可以看到的一點是,每一個異常入口不再僅僅占用4bytes的空間,而是占用0x80 bytes空間,也就是說,每一個異常入口可以放置多條指令,而不僅僅是一條跳轉指令

后記:
.
更多視頻,盡在嗶哩嗶哩…
也歡迎添加微信,一起探討,一起學習,一起…

總結

以上是生活随笔為你收集整理的[ARM异常]-ARM Core如何响应中断的的全部內容,希望文章能夠幫你解決所遇到的問題。

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