女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

Bl31中斷處理流程概述

麥辣雞腿堡 ? 來源:TrustZone ? 作者:TrustZone ? 2023-11-07 17:43 ? 次閱讀

中斷處理需要軟件和硬件配合完成,GICv3根據中斷分組情況以及系統當前運行的異常等級確定中斷是以IRQ還是FIQ觸發。

CPU通過設置SCR_EL3.IRQ和SCR_EL3.FIQ確定IRQ和FIQ中斷分別是被路由到當前異常等級還是被路由到EL3。

若中斷被路由到EL3,根據異常發生時系統所處的異常等級,使用的棧指針是SP_EL0還是SP_ELx(x》
0),以及使用的aarch32還是aarch64架構,在每個異常等級下都包含了四張異常等級表。

bl31的異常向量表定義在runtime_exceptions.S中,其與下圖的定義一致。

但在ATF中只實現了后面兩種情形下的中斷處理函數,即若當前系統運行在EL3下,則不允許異常發生。為簡化討論,我們只關注aarch64的情形,則實際上bl31只實現了下圖中的第三種異常發生時中斷的處理。

圖片

這是因為除了系統啟動時以外,其它情況下系統運行在bl31則表示其本身是由低異常等級以smc指令進入的,此時系統本身就運行在異常上下文。

而系統返回所需要的elr_el3和spsr_el3都被保存在了sp_el3棧中。在bl31中sp_el3只用于保存寄存器等系統狀態信息,且所有的參數的存儲位置都是預定義好的。此時,若發生了irq或fiq中斷則中斷處理函數也會將它的elr_el3和spsr_el3保存到sp_el3中,從而導致smc調用的返回信息被覆蓋掉,從而使其無法返回。

因此bl31中的異常處理函數是非重入的,bl31運行時當前PE處于關中斷狀態。當然,對于smp系統,由于每個PE的sp_el3是獨立的,因此其它PE還是可以響應中斷的。

當系統運行在低異常等級時產生group 0中斷,則可以通過以上第三張異常向量表跳轉到bl31的aarch64異常處理函數,下面以FIQ為例說明其中斷處理流程。

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

    關注

    11

    文章

    3459

    瀏覽量

    67178
  • 軟件
    +關注

    關注

    69

    文章

    5117

    瀏覽量

    88913
  • 中斷
    +關注

    關注

    5

    文章

    904

    瀏覽量

    42506
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    at91sam9261中斷處理

    AT91SAM9261的先進中斷控制器是一個8優先級,可獨立屏蔽中斷的向量中斷控制器,可處理32個中斷源。本文講述at91sam9261
    發表于 12-28 17:01 ?3402次閱讀
    at91sam9261<b class='flag-5'>中斷</b><b class='flag-5'>處理</b>

    如何讓BL31的調試信息輸出到S32R45的uart?

    我用“DEBUG=1”構建 ATF 映像,uart 可以顯示 BL2 的調試信息,但沒有顯示 BL31 的調試信息。 為什么?BL2到BL31,是不是又設置了控制臺?如何讓
    發表于 04-11 08:20

    BL31未在Kirkstone上加載的原因?

    imx8mm_evk.h 和 imx8mm_evk.c 的設置時,SPL 打印 do uart3,但它應該顯示:注意:BL31:v2.6(發布
    發表于 04-19 11:00

    8253中斷服務程序流程

    8253中斷服務程序流程圖 希望發電機P =
    發表于 05-03 00:12 ?5039次閱讀
    8253<b class='flag-5'>中斷</b>服務程序<b class='flag-5'>流程</b>圖

    Dsp28335中斷的方法

    Dsp28335中斷的方法Dsp28335中斷的方法
    發表于 01-08 14:17 ?14次下載

    STM32的Cortex-M3中斷異常處理

    在STM32處理器中有43個可屏蔽中斷通道(不包含 16個 Cortex?-M3的中斷線)。共設置了16個可編程的優先等級(使用了 4位中斷優先級);它的嵌套向量
    發表于 11-16 15:35 ?8649次閱讀
    STM32的Cortex-M3<b class='flag-5'>中斷</b>異常<b class='flag-5'>處理</b>

    STM32關全局中斷的方法 STM32中斷類型

    STM32中斷很強大,STM32中斷可以嵌套,任何外設都可以產生中斷,其中中斷和異常是等價的。 中斷執行
    的頭像 發表于 07-22 10:52 ?2.9w次閱讀

    51中斷系統與vhdl狀態機

    51中斷系統與vhdl狀態機51中斷系統與vhdl狀態機51單片機中斷系統1.為什么要引入中斷?51中斷系統與vhdl狀態機51單片機
    發表于 01-14 14:58 ?2次下載
    51<b class='flag-5'>中斷</b>系統與vhdl狀態機

    STM32中斷系統的工作流程

    一、前言 在之前的STM32的中斷系統理論基礎知識之基本原理及NVIC,分別中斷的基本原理,中斷的管理機制和中斷
    的頭像 發表于 06-22 09:17 ?3197次閱讀
    STM32<b class='flag-5'>中斷</b>系統的工作<b class='flag-5'>流程</b>

    ATFbl2的啟動

    bl2_entrypoint。該函數定義在bl2/aarch64/bl2_entrypoint.S文件。該階段的執行流程如圖所示。
    的頭像 發表于 11-07 15:59 ?1142次閱讀
    ATF<b class='flag-5'>中</b><b class='flag-5'>bl</b>2的啟動

    ATFbl2到bl31的跳轉介紹

    數之后,系統將跳轉到中斷處理函數(smc_handler64)繼續執行。該函數定義在bl1/aarch64/bl1_exception.S文件
    的頭像 發表于 11-07 16:09 ?1328次閱讀

    ATFbl31的啟動

    bl2觸發安全監控模式調用后會跳轉到bl31執行,bl31最主要的作用是 建立EL3運行態的軟件配置 , 在該階段會完成各種類型的安全
    的頭像 發表于 11-07 16:13 ?1733次閱讀
    ATF<b class='flag-5'>中</b><b class='flag-5'>bl31</b>的啟動

    ATFbl31函數介紹與使用

    runtime_svc_init函數 該函數主要用來建立安全監控模式調用處理函數的索引表,并執行EL3提供的服務項的初始化操作,獲取TEE OS的入口地址并賦值給bl32_init變量,以備啟動
    的頭像 發表于 11-07 16:23 ?930次閱讀

    bl31的psci架構介紹

    std_svc_setup會在bl31啟動流程中被調用,以用于初始化該服務相關的配置。而std_svc_smc_handler為其smc異常處理函數,當內核通過psci接口調用相關服務時,最終將由該函數執行實際的
    的頭像 發表于 12-05 17:33 ?1389次閱讀
    <b class='flag-5'>bl31</b><b class='flag-5'>中</b>的psci架構介紹

    stm32中斷怎么處理

    STM32是一款非常強大的微控制器系列,具有豐富的外設和功能。中斷是STM32非常重要的部分,能夠幫助我們提高系統的響應速度和效率。本文將詳細介紹STM32中斷處理方法。 一、
    的頭像 發表于 01-02 17:35 ?3185次閱讀