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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [ARM异常]-ARM Core如何响应中断的 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

目錄

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


1、51單片機(jī)的中斷響應(yīng)模型

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

如下圖所示,左邊是51單片機(jī)的管腳圖,P3.0-P3.5是單片機(jī)對(duì)應(yīng)的中斷管教,當(dāng)該管教電平發(fā)生變化時(shí),觸發(fā)cpu異常。
當(dāng)cpu來(lái)了一個(gè)異常時(shí)(中斷),cpu跳轉(zhuǎn)到異常向量地址處,執(zhí)行handler函數(shù),執(zhí)行完畢后再回來(lái)

那么cpu異常時(shí),跳轉(zhuǎn)的是哪個(gè)地址呢,其實(shí)這都是cpu出廠時(shí)設(shè)計(jì)好的。如下圖所示,左邊是cpu設(shè)計(jì)好的異常向量表基地址。右邊是軟件對(duì)異常的處理。
當(dāng)來(lái)了一個(gè)uart中斷時(shí),cpu觸發(fā)異常跳轉(zhuǎn)到0023地址處,而該地址處執(zhí)行LJMP UART0_ISR指令,跳轉(zhuǎn)UART0_IAR函數(shù)去處理中斷…

2、ARM的異常有哪?

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

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

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

當(dāng)異常發(fā)生了,ARM CORE就要跳轉(zhuǎn)到異常向量表地址處了。其實(shí)是跳轉(zhuǎn)到:異常基地址 + 異常向量表偏移處

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

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

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

4、ARM的向量表offset

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


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

實(shí)際上有四組表,每組表有四個(gè)異常入口,分別對(duì)應(yīng)同步異常,IRQ,FIQ和出錯(cuò)異常。

  • 如果發(fā)生異常并不會(huì)導(dǎo)致exception level切換,并且使用的棧指針是SP_EL0,那么使用第一組異常向量表。
  • 如果發(fā)生異常并不會(huì)導(dǎo)致exception level切換,并且使用的棧指針是SP_EL1/2/3,那么使用第二組異常向量表。
  • 如果發(fā)生異常會(huì)導(dǎo)致exception level切換,并且比目的exception level低一級(jí)的exception
    level運(yùn)行在AARCH64模式,那么使用第三組異常向量表。
  • 如果發(fā)生異常會(huì)導(dǎo)致exception level切換,并且比目的exception level低一級(jí)的exception
    level運(yùn)行在AARCH32模式,那么使用第四組異常向量表。

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

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

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人欧美一区 | 九九久久国产精品 | 日韩三级免费 | 日韩精品视频免费 | 精品国产视频 | 91精品网| 亚洲v国产v欧美v久久久久久 | 中文字幕97 | 91激情在线观看 | 亚洲精品影视 | 伊人影院av | 欧美三级又粗又硬 | 国产精品国产一区二区三区四区 | 69色堂 | 亚洲黄色中文字幕 | 天堂а√在线中文在线鲁大师 | 男人和女人日批 | 午夜久久久久久久久 | 香蕉视频黄色片 | 在线免费观看国产视频 | 欧美日韩999 | 午夜亚洲国产 | 亚洲一道本| 欧美乱论 | 久久中文字幕精品 | 亚洲无码精品免费 | 国产精品久久久久久免费播放 | 欧美五月激情 | 久久精品国产99精品国产亚洲性色 | 欧美www| 国产一区二区观看 | 亚洲精品国产精品国自 | 精品国产一区二区三区久久久蜜月 | 激情综合一区二区三区 | 手机看片1024欧美 | 欧美日本中文字幕 | ,国产精品国产三级国产 | 男人午夜天堂 | 日韩在线一区二区三区四区 | 精品三区| 欧美成a | 国产毛毛片 | 碧蓝之海动漫在线观看免费高清 | 全部免费毛片在线播放 | 视频一区二区中文字幕 | 欧美热热 | 日日操夜夜操狠狠操 | 欧美国产一区二区 | 日本精品一区二区三区在线观看 | 九色91丨porny丨丝袜 | 91国模少妇一区二区三区 | 免费成人电影在线观看 | 免费爱爱网址 | 亚洲最大网站 | 欧美特级aaa | 国产字幕侵犯亲女 | 亚洲一区二区三区高清在线 | 免费亚洲网站 | 国产一区二区视频免费观看 | 天天爽夜夜 | 日韩精品一区二区在线视频 | 中文字幕av日韩 | 欧美肉大捧一进一出免费视频 | 亚洲国产欧美日韩在线 | 成人免费观看在线视频 | 国产亚洲av片在线观看18女人 | 女人久久久 | 日本性爱动漫 | 亚洲无限码 | 日韩色在线观看 | 国产特黄aaaaa毛片 | 久久亚洲av无码西西人体 | aa在线视频 | 亚洲高清中文字幕 | 人妻精品久久久久中文字幕 | 亚洲天堂网站在线 | 99爱99| a级片中文字幕 | 日本熟妇成熟毛茸茸 | 日韩精品一区二区三区在线播放 | 丰满岳跪趴高撅肥臀尤物在线观看 | 国产ts在线 | 3d动漫精品啪啪一区二区下载 | 久久久久亚洲精品 | 欧美又粗又长又爽做受 | 亚洲色婷婷久久精品av蜜桃 | 久久伊人精品 | 伊人色图 | 电家庭影院午夜 | 亚洲色成人网站www永久四虎 | 国产精品午夜久久 | 99视频国产精品免费观看a | 又黄又爽又刺激的视频 | 国产精品香蕉在线 | 久久久久久久穴 | www.蜜桃av | 麻豆传媒在线免费 | 国产日韩欧美综合在线 | 久久精品女人毛片国产 |