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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[ARM异常]-ARMV8-aarch64 异常(中断)是如何跳转到向量表的

發布時間:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [ARM异常]-ARMV8-aarch64 异常(中断)是如何跳转到向量表的 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

快速鏈接:
.
👉👉👉 個人博客筆記導讀目錄(全部) 👈👈👈


先看一張框圖,在中斷產生之后,PC將跳轉到VBAR + 中斷offset處,例如圖中藍色部分

那么有三個基地址VBAR_EL1、VBAR_EL3、VBAR_EL1(secure),到底是使用哪一個呢?
由Routing when both EL3 and EL2 are implemented 表來決定,中斷routing到了EL1則使用VBAR_EL1,routing到了EL3則使用VBAR_EL3,routing到了secure EL1則使用VBAR_EL1(secure)

選好了基地址后,再選偏移? 我們看到向量表中有四行,那么選哪一行呢?
由Vector offsets from vector table base address表來決定的

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

選好中斷向量表中的某一行之后,那么具體選哪一個偏移呢?
會根據中斷的類型來決定,如果是irq和fiq會根據當前PE的狀態和中斷的配置屬性,來決定是IRQ或FIQ

有關中斷的Mask,由下面一張表決定(Physical interrupt target and masking when both EL3 and EL2 are implemented)

總結

以上是生活随笔為你收集整理的[ARM异常]-ARMV8-aarch64 异常(中断)是如何跳转到向量表的的全部內容,希望文章能夠幫你解決所遇到的問題。

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