色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

arm中斷是怎么實現的

工程師鄧生 ? 來源:未知 ? 作者:劉芹 ? 2023-09-05 16:22 ? 次閱讀

arm中斷是怎么實現的

首先,了解什么是中斷。中斷是指在CPU執行某個程序時,突然發生的一些事件需要CPU立即停止正在執行的程序并去執行該事件相應的程序,這個過程叫做中斷。中斷是系統中一個重要的機制,能夠提高系統的實時性和可靠性。在ARM處理器中,中斷的實現主要涉及到下面的幾點。

一、中斷控制器

ARM系統中,中斷控制器是實現中斷的重要組成部分。中斷控制器的主要作用是監控外部硬件中斷請求并向CPU發出中斷請求信號,同時還需要根據優先級為CPU分配中斷請求。

ARM中斷控制器有兩種類型:簡單中斷控制器(Simple Interrupt Controller,簡稱SIC)和通用中斷控制器(Generic Interrupt Controller,簡稱GIC)。SIC適用于較為簡單的系統,而GIC則適用于較為復雜的系統,支持更多的中斷請求。具體地,GIC一般包含一個中央控制器,多個本地控制器和一個分配器。中央控制器負責處理高優先級中斷故障,本地控制器負責處理本地外設的中斷,分配器負責將中斷請求分配給本地控制器。

二、中斷向量表

在ARM中,中斷向量表是用來存儲中斷服務例程(Interrupt Service Routine,簡稱ISR)的一組內存區域。中斷向量表中有多個向量表項,每個向量表項對應一種中斷類型,其中存儲著相應的中斷服務例程的入口地址。

中斷服務例程是中斷處理程序,用于響應中斷事件。當中斷請求發生時,中斷控制器會向CPU發送中斷請求,此時CPU讀取中斷向量表中相應的向量表項得到ISR的入口地址,然后跳轉到該地址執行ISR。ISR會負責處理中斷事件,并將處理結果返回。

三、中斷的優先級

在ARM中,設備的中斷請求有不同的優先級,優先級越高的請求將先被響應。中斷優先級是在編譯鏈接時靜態確定的,每個設備都有一個預設的中斷請求優先級,這些優先級由系統設計人員在初始化系統時進行設置。

在中斷處理時,如果有多個中斷同時發生,CPU會先執行優先級最高的中斷,而其他中斷則被掛起。一旦執行完畢,CPU會返回到掛起的中斷程序中繼續執行,如此循環直至所有中斷都被處理完畢。

四、中斷處理流程

當外部設備發生中斷請求時,中斷控制器會對請求進行處理:

1、中斷請求的產生:外部設備發生某種事件的時候,向外部中斷控制器發出中斷請求。

2、中斷控制器的處理:中斷控制器接收到請求后,通過優先級算法,確定優先級最高的中斷,然后發送一個中斷請求到CPU。

3、中斷向量表的查詢:CPU響應中斷請求后,根據請求所對應的中斷類型,查詢中斷向量表得到對應的ISR入口地址。

4、執行ISR:CPU通過跳轉到ISR入口地址開始執行ISR代碼,中斷服務例程開始處理中斷事件。

5、保存現場:ISR代碼中,對于需要暫停程序的部分,需要保存當前程序現場以保證中斷處理結束后能正確恢復執行的指令。

6、處理中斷:在ISR中,處理中斷的對應邏輯,確定該中斷事件對應的操作,并執行相應的操作完成該中斷的處理。

7、恢復現場:中斷處理結束后,ISR需要恢復保存的現場,以便中斷結束后程序能繼續執行。

通過以上的流程,ARM的中斷處理功能才可以有效地響應外部設備中斷請求,并完成對應的中斷處理工作,起到保障系統實時性和可靠性的作用。

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

    關注

    134

    文章

    9107

    瀏覽量

    367954
  • 中斷控制器
    +關注

    關注

    0

    文章

    59

    瀏覽量

    9469
收藏 人收藏

    評論

    相關推薦

    利用Arm Kleidi技術實現PyTorch優化

    PyTorch 是一個廣泛應用的開源機器學習 (ML) 庫。近年來,Arm 與合作伙伴通力協作,持續改進 PyTorch 的推理性能。本文將詳細介紹如何利用 Arm Kleidi 技術提升 Arm
    的頭像 發表于 12-23 09:19 ?198次閱讀
    利用<b class='flag-5'>Arm</b> Kleidi技術<b class='flag-5'>實現</b>PyTorch優化

    ARM處理器的工作模式和特點

    ARM處理器具有多種工作模式,這些模式根據處理器執行的任務和當前的狀態進行劃分。常見的ARM處理器工作模式包括用戶模式(User Mode)、快速中斷模式(Fast Interrupt
    的頭像 發表于 09-10 11:22 ?1280次閱讀

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

    ARM處理器的異常中斷響應是嵌入式系統設計中一個至關重要的環節,它確保了系統在面對內部或外部事件時能夠穩定、可靠地運行。
    的頭像 發表于 09-10 11:18 ?1056次閱讀

    stm32怎樣觸發軟件中斷

    其中實現所需的功能。 觸發軟件中斷 在STM32中,您可以使用NVIC_SetPendingIRQ()函數來觸發軟件
    的頭像 發表于 09-02 09:32 ?936次閱讀

    如何使用帶中斷的pwm來實現LED呼吸?

    我想使用帶中斷的 pwm 來實現 LED 呼吸,即 LED 的強度應該增加或減少。
    發表于 06-04 07:21

    SoC芯片設計系列-ARM CPU子系統組件介紹

    ARM架構的CPU子系統中,組件設計旨在高效地整合了多種功能模塊,以支持處理器核心的運行、內存管理、中斷處理、數據交換以及與外部設備的交互等。
    的頭像 發表于 05-31 10:56 ?2974次閱讀
    SoC芯片設計系列-<b class='flag-5'>ARM</b> CPU子系統組件介紹

    TC375中斷嵌套如何實現?

    這里描述說實現中斷嵌套需要配置中斷優先級組,但是我沒看到有介紹分組的文檔,請問中斷嵌套要如和實現謝謝?
    發表于 05-27 07:30

    RISC-V的中斷處理 中斷操作三個步驟

    中斷操作三個步驟: 1、中斷初始化 2、trap處理 3、用戶中斷處理
    的頭像 發表于 05-20 16:38 ?1279次閱讀

    stm32上的中斷掛起和屏蔽與ARM內核中的掛起屏蔽是相同的嗎?

    請問前輩,stm32上的中斷掛起和屏蔽 與 ARM內核中的掛起屏蔽是相同的嗎,還是只是stm32自己預處理的一步。
    發表于 04-15 08:23

    CPU中斷程序:從硬件看什么是中斷?

    CPU響應中斷轉去執行中斷服務程序前,需要把被中斷程序的現場信息保存起來,以便執行完中斷服務程序后,接著從被中斷程序的斷點處繼續往下執行。
    發表于 03-26 11:36 ?3977次閱讀
    CPU<b class='flag-5'>中斷</b>程序:從硬件看什么是<b class='flag-5'>中斷</b>?

    如何實現SysTick中斷的嵌套自身?

    中斷直接退出到我想要執行的調度函數RTTaskSchedule ,執行完調度函數RTTaskSchedule 后再執行函數IrqReturn返回到main中。但是這段代碼并不能實現我想要的功能,被嵌套的調度函數RTTaskSchedule 不能正常返回了。
    發表于 03-25 06:20

    Arm 更新 Neoverse 產品路線圖,實現基于 Arm 平臺的人工智能基礎設施

    新聞重點: Arm 宣布推出兩款基于全新第三代 Neoverse IP 構建的新的 Arm Neoverse 計算子系統 Arm Neoverse CSS V3 是高性能 V 系列產品組合中的首款
    發表于 02-22 11:41 ?395次閱讀

    單片機中斷功能及其應用

    單片機中斷功能及其應用? 單片機中斷是指在程序執行過程中,根據特定的條件或事件自動暫時中斷當前程序的執行,轉而執行特定的中斷服務程序。中斷
    的頭像 發表于 01-30 14:45 ?5594次閱讀

    PSoC? CAPSENSE? 如何實現使用中斷執行掃描CSX?

    如何實現使用中斷執行掃描 CSX,放棄使用循環掃描 CSX 的示例,這種方法可行嗎?
    發表于 01-19 08:29

    基于STM32CubeIDE軟件實現的STM32外部中斷實例

    因為PE2配置為GPIO_EXTI2中斷,它出現在了列表中。同時出現的還有SysTick,它是HAL_Delay的時基來源,如下圖note處所說的,每隔一個固定時間產生一次中斷。
    發表于 01-12 16:15 ?1723次閱讀
    基于STM32CubeIDE軟件<b class='flag-5'>實現</b>的STM32外部<b class='flag-5'>中斷</b>實例
    主站蜘蛛池模板: 一本久道久久综合狠狠躁AV| 国产爱豆剧果冻传媒在线| 国产在线观看黄| 亚洲国产五月综合网| 久久re6热在线视频精品| 自拍区偷拍亚洲视频| 强奷表妺好紧2| 国产精品永久免费视频| 伊人久久网国产伊人| 青草在线观看视频| 国产精品自在拍在线播放| 一区两区三不卡| 飘雪在线观看免费高清完整版韩国| 俄罗斯XXXXXL18| 益日韩欧群交P片内射中文| 欧美日韩精品| 好吊射视频988gaocom| 99久久国产综合精品网成人影院| 四库影院永久国产精品| 久久怡红院国产精品| 国产99视频精品一区| 诱咪youmiss| 天天影视网网色色欲| 麻豆AV蜜桃AV久久| 国产精品免费久久久久影院| 中文字幕人成人乱码亚洲影视| 三级视频网站| 旧里番YY6080在线播放| 国产精品久久久久影院| 94色94色永久网站| 亚洲精品AV一区午夜福利| 欧洲video60| 久久综合网久久综合| 国产看午夜精品理论片| ⅹxx日本护土| 伊人久久青草青青综合| 偷窥wc美女毛茸茸视频| 尿了么app| 久久免费电影| 韩国女主播内部vip自带氏巾| 丰满大爆乳波霸奶|