日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Bl31中斷處理流程概述

麥辣雞腿堡 ? 來源:TrustZone ? 作者:TrustZone ? 2023-11-07 17:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

中斷處理需要軟件和硬件配合完成,GICv3根據(jù)中斷分組情況以及系統(tǒng)當(dāng)前運(yùn)行的異常等級確定中斷是以IRQ還是FIQ觸發(fā)。

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

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

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

但在ATF中只實(shí)現(xiàn)了后面兩種情形下的中斷處理函數(shù),即若當(dāng)前系統(tǒng)運(yùn)行在EL3下,則不允許異常發(fā)生。為簡化討論,我們只關(guān)注aarch64的情形,則實(shí)際上bl31只實(shí)現(xiàn)了下圖中的第三種異常發(fā)生時(shí)中斷的處理。

圖片

這是因?yàn)槌讼到y(tǒng)啟動時(shí)以外,其它情況下系統(tǒng)運(yùn)行在bl31則表示其本身是由低異常等級以smc指令進(jìn)入的,此時(shí)系統(tǒng)本身就運(yùn)行在異常上下文。

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

因此bl31中的異常處理函數(shù)是非重入的,bl31運(yùn)行時(shí)當(dāng)前PE處于關(guān)中斷狀態(tài)。當(dāng)然,對于smp系統(tǒng),由于每個PE的sp_el3是獨(dú)立的,因此其它PE還是可以響應(yīng)中斷的。

當(dāng)系統(tǒng)運(yùn)行在低異常等級時(shí)產(chǎn)生group 0中斷,則可以通過以上第三張異常向量表跳轉(zhuǎn)到bl31的aarch64異常處理函數(shù),下面以FIQ為例說明其中斷處理流程。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 硬件
    +關(guān)注

    關(guān)注

    13

    文章

    3638

    瀏覽量

    69180
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5364

    瀏覽量

    91953
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    920

    瀏覽量

    43886
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    at91sam9261中斷處理

    AT91SAM9261的先進(jìn)中斷控制器是一個8優(yōu)先級,可獨(dú)立屏蔽中斷的向量中斷控制器,可處理32個中斷源。本文講述at91sam9261
    發(fā)表于 12-28 17:01 ?3876次閱讀
    at91sam9261<b class='flag-5'>中斷</b><b class='flag-5'>處理</b>

    BL2 在跳轉(zhuǎn)到 BL31 之前掛起 — 訓(xùn)練后出現(xiàn) DDR PHY (0x01400000) 訪問問題,求解

    SDK (LSDK 25.06)使用以下調(diào)試選項(xiàng): 調(diào)試=1 ddr_debug=是 ddr_phy_debug=是 我目前面臨一個問題,即BL2 在跳到 BL31 之前停止. 為了調(diào)查這一點(diǎn),我將
    發(fā)表于 03-03 06:34

    如何使 i.MX93 上的 U-Boot SPL 和 ATF/BL31輸出靜音呢?

    到外部網(wǎng)絡(luò)設(shè)備時(shí),U-Boot SPL 和 ATF/BL31 啟動消息會回顯到外部設(shè)備的控制臺。如果外部設(shè)備也在啟動,它可以將這些字符解釋為輸入命令,從而可能損壞其引導(dǎo)加載程序或配置。 我成功靜音的內(nèi)容
    發(fā)表于 03-09 08:28

    如何讓BL31的調(diào)試信息輸出到S32R45的uart?

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

    BL31未在Kirkstone上加載的原因?

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

    8253中斷服務(wù)程序流程

    8253中斷服務(wù)程序流程圖 希望發(fā)電機(jī)P =
    發(fā)表于 05-03 00:12 ?5208次閱讀
    8253<b class='flag-5'>中斷</b>服務(wù)程序<b class='flag-5'>流程</b>圖

    Dsp28335中斷的方法

    Dsp28335中斷的方法Dsp28335中斷的方法
    發(fā)表于 01-08 14:17 ?16次下載

    STM32的Cortex-M3中斷異常處理

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

    STM32中斷系統(tǒng)的工作流程

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

    ATFbl2的啟動

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

    ATFbl2到bl31的跳轉(zhuǎn)介紹

    數(shù)之后,系統(tǒng)將跳轉(zhuǎn)到中斷處理函數(shù)(smc_handler64)繼續(xù)執(zhí)行。該函數(shù)定義在bl1/aarch64/bl1_exception.S文件
    的頭像 發(fā)表于 11-07 16:09 ?2482次閱讀

    ATFbl31的啟動

    bl2觸發(fā)安全監(jiān)控模式調(diào)用后會跳轉(zhuǎn)到bl31執(zhí)行,bl31最主要的作用是 建立EL3運(yùn)行態(tài)的軟件配置 , 在該階段會完成各種類型的安全
    的頭像 發(fā)表于 11-07 16:13 ?2784次閱讀
    ATF<b class='flag-5'>中</b><b class='flag-5'>bl31</b>的啟動

    ATFbl31函數(shù)介紹與使用

    runtime_svc_init函數(shù) 該函數(shù)主要用來建立安全監(jiān)控模式調(diào)用處理函數(shù)的索引表,并執(zhí)行EL3提供的服務(wù)項(xiàng)的初始化操作,獲取TEE OS的入口地址并賦值給bl32_init變量,以備啟動
    的頭像 發(fā)表于 11-07 16:23 ?1575次閱讀

    bl31的psci架構(gòu)介紹

    std_svc_setup會在bl31啟動流程中被調(diào)用,以用于初始化該服務(wù)相關(guān)的配置。而std_svc_smc_handler為其smc異常處理函數(shù),當(dāng)內(nèi)核通過psci接口調(diào)用相關(guān)服務(wù)時(shí),最終將由該函數(shù)執(zhí)行實(shí)際的
    的頭像 發(fā)表于 12-05 17:33 ?2834次閱讀
    <b class='flag-5'>bl31</b><b class='flag-5'>中</b>的psci架構(gòu)介紹

    stm32中斷怎么處理

    STM32是一款非常強(qiáng)大的微控制器系列,具有豐富的外設(shè)和功能。中斷是STM32非常重要的部分,能夠幫助我們提高系統(tǒng)的響應(yīng)速度和效率。本文將詳細(xì)介紹STM32中斷處理方法。 一、
    的頭像 發(fā)表于 01-02 17:35 ?4123次閱讀
    仁寿县| 萍乡市| 察雅县| 怀仁县| 平武县| 达孜县| 特克斯县| 沽源县| 全州县| 阳谷县| 密云县| 高碑店市| 沂南县| 外汇| 宝清县| 苍南县| 元朗区| 平和县| 清水河县| 武功县| 梧州市| 宁河县| 兰考县| 班戈县| 龙井市| 富裕县| 北海市| 四川省| 潼关县| 台湾省| 昌都县| 吴川市| 鄂托克前旗| 达州市| 西畴县| 尚义县| 合肥市| 湖北省| 宣化县| 科技| 榆社县|