在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

ATF的啟動(dòng)過程介紹

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

ATF的啟動(dòng)過程根據(jù)ARMv8的運(yùn)行模式(AArch32/AArch64)會(huì)有所不同,但基本一致。

在AArch32中是不會(huì)去加載bl31而是將EL3或者M(jìn)onitor模式的運(yùn)行代碼保存在bl32中執(zhí)行。在AArch64中,ATF的完整啟動(dòng)流程如圖下所示。

圖片AArch64模式的ATF啟動(dòng)流程

在上述啟動(dòng)過程中,從一個(gè)鏡像跳轉(zhuǎn)到另外一個(gè)鏡像文件執(zhí)行的方式各不相同,以下為鏡像跳轉(zhuǎn)的過程和方式說明。

概要流程

  1. bl1跳轉(zhuǎn)到bl2執(zhí)行

在bl1完成了將bl2鏡像文件加載到RAM中的操作、中斷向量表的設(shè)定以及其他CPU相關(guān)設(shè)定后,bl1_main函數(shù)會(huì)解析出bl2鏡像文件的描述信息,獲取入口地址,并設(shè)定下一個(gè)階段的cpu上下文。這些操作完成之后,調(diào)用el3_exit函數(shù)來實(shí)現(xiàn)bl1到bl2的跳轉(zhuǎn),進(jìn)入bl2中開始執(zhí)行。

  1. bl2跳轉(zhuǎn)到bl31執(zhí)行

在bl2中將會(huì)加載bl31、bl32、bl33的鏡像文件到對應(yīng)權(quán)限的內(nèi)存中,并將該三個(gè)鏡像文件的描述信息組成一個(gè)鏈表保存起來,以備bl31啟動(dòng)bl32和bl33使用。在AArch64中,bl31為EL3的執(zhí)行軟件,其運(yùn)行時(shí)的主要功能是對安全監(jiān)控模式調(diào)用(smc)指令和中斷處理,運(yùn)行在ARM的Monitor模式中。

bl32一般為TEE OS鏡像文件,本章以O(shè)P-TEE為例進(jìn)行說明。

bl33為正常世界狀態(tài)的鏡像文件,例如uboot、EKD2等。當(dāng)前該部分為BootLoader部分的鏡像文件,再由BootLoader來啟動(dòng)Linux內(nèi)核鏡像。

從bl2跳轉(zhuǎn)到bl31是通過帶入bl31的入口點(diǎn)信息作為參數(shù),然后調(diào)用安全監(jiān)控模式調(diào)用指令,觸發(fā)在bl1中設(shè)定的安全監(jiān)控模式調(diào)用請求,該請求處理完成后會(huì)將中央處理器的執(zhí)行權(quán)限交給bl31,并跳轉(zhuǎn)到bl31中去執(zhí)行。

  1. bl31跳轉(zhuǎn)到bl32執(zhí)行

在bl31中會(huì)執(zhí)行runtime_service_inti函數(shù),該函數(shù)會(huì)調(diào)用注冊到EL3中所有服務(wù)的初始化函數(shù),其中有一個(gè)服務(wù)項(xiàng)就是TEE服務(wù),該服務(wù)項(xiàng)的初始化函數(shù)會(huì)將TEEOS的初始化函數(shù)賦值給bl32_init變量,當(dāng)所有服務(wù)項(xiàng)執(zhí)行完初始化后,在bl31中會(huì)調(diào)用bl32_init執(zhí)行的函數(shù)來跳轉(zhuǎn)到TEE OS中并開始執(zhí)行TEE
OS的啟動(dòng)。

  1. bl31跳轉(zhuǎn)到bl33執(zhí)行

當(dāng)TEE-OS鏡像啟動(dòng)完成后會(huì)觸發(fā)一個(gè)ID為TEESMC_OPTEED_RETURN_ENTRY_DONE的安全監(jiān)控模式調(diào)用,該調(diào)用是用來告知EL3 TEE OS鏡像已經(jīng)完成了初始化,然后將CPU的狀態(tài)恢復(fù)到bl31_init的位置繼續(xù)執(zhí)行。

bl31通過遍歷在bl2中記錄的所有鏡像信息的鏈表來找到需要執(zhí)行的bl33的鏡像。然后通過獲取到bl33鏡像的信息,設(shè)定下一個(gè)階段的CPU上下文,退出el3后進(jìn)入到bl33鏡像中開始執(zhí)行。

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

    關(guān)注

    134

    文章

    9270

    瀏覽量

    373482
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3102

    瀏覽量

    74882
  • 鏡像
    +關(guān)注

    關(guān)注

    0

    文章

    177

    瀏覽量

    11064
收藏 人收藏

    評論

    相關(guān)推薦

    詳解STM32啟動(dòng)過程

    本章教程主要跟大家講STM32H7的啟動(dòng)過程,這里的啟動(dòng)過程是指從CPU上電復(fù)位執(zhí)行第1條指令開始(匯編文件)到進(jìn)入C程序main()函數(shù)入口之間的部分。
    發(fā)表于 11-14 11:24 ?1977次閱讀

    專家揭秘:STM32啟動(dòng)過程全解

    電子發(fā)燒友網(wǎng)核心提示: 本文主要闡述了STM32啟動(dòng)過程全面解析,包括啟動(dòng)過程介紹啟動(dòng)代碼的陳列以及深入解析。 相對于ARM上一代的主流ARM7/ARM9內(nèi)核架構(gòu),新一代Corte
    發(fā)表于 09-10 08:50 ?5.3w次閱讀
    專家揭秘:STM32<b class='flag-5'>啟動(dòng)過程</b>全解

    STM32啟動(dòng)過程

    一、STM32 啟動(dòng)過程通過Boot引腳設(shè)定,尋找初始地址初始化棧指針 __initial_sp指向復(fù)位程序 Reset_Hander設(shè)置異常中斷 HardFault_Handler設(shè)置系統(tǒng)時(shí)鐘
    發(fā)表于 08-11 06:02

    介紹一下avr芯片的啟動(dòng)過程

    嵌入式程序的啟動(dòng)代碼,就是startup代碼,一般用匯編編寫,代碼效率高,但和C++代碼融合起來不太方便,例如,想直接在cpp文件定義中斷函數(shù)就需要asm語句。 下面介紹一下avr芯片的啟動(dòng)過程:avr的
    發(fā)表于 02-28 12:29

    系統(tǒng)啟動(dòng)過程

    系統(tǒng)啟動(dòng)過程系統(tǒng)啟動(dòng)過程主要由一下幾步組成(以硬盤啟動(dòng)為例):1. 開機(jī)2. BIOS 加電自檢 ( Power On Self Test -- POST ),內(nèi)存地址為 0ffff:00003. 將硬盤第一個(gè)
    發(fā)表于 10-11 12:17 ?2308次閱讀

    嵌入式uCLinux內(nèi)核啟動(dòng)過程分析

    分析uCLinux的啟動(dòng)過程,可以加快系統(tǒng)啟動(dòng)速度、正確建立應(yīng)用環(huán)境。本文要研究的就是uCLinux操作系統(tǒng)內(nèi)核的啟動(dòng)過程
    發(fā)表于 08-15 16:51 ?825次閱讀

    IC啟動(dòng)過程及Vcc電壓波形的認(rèn)知

    IC啟動(dòng)過程及Vcc電壓波形的認(rèn)知IC啟動(dòng)過程及Vcc電壓波形的認(rèn)知IC啟動(dòng)過程及Vcc電壓波形的認(rèn)知IC啟動(dòng)過程及Vcc電壓波形的認(rèn)知
    發(fā)表于 12-22 14:46 ?10次下載

    Windows XP 啟動(dòng)過程詳解

    我們每天都在和 Windows 打交道,很多人可能每天都要面對多次 Windows 的啟動(dòng)過程,可是您知道在 Windows 的啟動(dòng)過程背后,隱藏著什么秘密嗎?在這一系列過程中都用到了哪些重要的系統(tǒng)文件?系統(tǒng)的
    發(fā)表于 11-10 18:24 ?11次下載

    國產(chǎn)300MW機(jī)組中壓缸啟動(dòng)的特點(diǎn)及啟動(dòng)過程

    機(jī)組采用合理啟動(dòng)方式對減小啟動(dòng)過程中的壽命損耗、縮短機(jī)組啟動(dòng)時(shí)間尤為重要。介紹了國產(chǎn)300 MW機(jī)組中壓缸啟動(dòng)的特點(diǎn)及
    發(fā)表于 10-14 10:40 ?18次下載
    國產(chǎn)300MW機(jī)組中壓缸<b class='flag-5'>啟動(dòng)</b>的特點(diǎn)及<b class='flag-5'>啟動(dòng)過程</b>

    詳解bootloader的執(zhí)行流程與ARM Linux啟動(dòng)過程分析

    RM Linux啟動(dòng)過程分析是本文要介紹的內(nèi)容,嵌入式 Linux 的可移植性使得我們可以在各種電子產(chǎn)品上看到它的身影。對于不同體系結(jié)構(gòu)的處理器來說Linux的啟動(dòng)過程也有所不同。 本文以
    的頭像 發(fā)表于 12-21 09:24 ?1.1w次閱讀
    詳解bootloader的執(zhí)行流程與ARM Linux<b class='flag-5'>啟動(dòng)過程</b>分析

    STM32上電后啟動(dòng)過程

    STM32上電后啟動(dòng)過程
    發(fā)表于 11-15 18:21 ?16次下載
    STM32上電后<b class='flag-5'>啟動(dòng)過程</b>

    stm32啟動(dòng)過程

    一次性搞定stm32啟動(dòng)模式與啟動(dòng)過程一、stm32啟動(dòng)模式二、從flash啟動(dòng)過程2.1 數(shù)據(jù)在堆棧中存儲(chǔ)方式2.2 stm32的正常啟動(dòng)過程
    發(fā)表于 12-16 16:57 ?8次下載
    stm32<b class='flag-5'>啟動(dòng)過程</b>

    RL78啟動(dòng)過程詳解

    RL78啟動(dòng)過程詳解
    的頭像 發(fā)表于 09-28 16:39 ?1763次閱讀
    RL78<b class='flag-5'>啟動(dòng)過程</b>詳解

    logd的啟動(dòng)過程和內(nèi)容

    logd作為native service,系統(tǒng)啟動(dòng)過程通過讀取rc文件來啟動(dòng),相關(guān)的屬性定義在如下logd.rc文件中。 2.2.1 logd啟動(dòng)過程 logd啟動(dòng)后會(huì)存在三個(gè)用來服務(wù)
    的頭像 發(fā)表于 11-23 16:54 ?1098次閱讀
    logd的<b class='flag-5'>啟動(dòng)過程</b>和內(nèi)容

    stm32啟動(dòng)過程詳解

    啟動(dòng)過程。本文將詳細(xì)介紹STM32的啟動(dòng)過程。 一、復(fù)位電路 對于STM32微控制器來說,復(fù)位是啟動(dòng)的第一步。任何系統(tǒng)都需要一個(gè)穩(wěn)定的狀態(tài)來啟動(dòng)
    的頭像 發(fā)表于 12-08 15:47 ?2111次閱讀
    主站蜘蛛池模板: 日本一区二区三区不卡在线看 | 这里只有精品视频 | 四虎影院网址大全 | 色播视频网站 | 色激情综合网 | 欧美四级在线 | 手机毛片在线 | 天天射夜夜骑 | 黄视频在线观看网站 | 亚洲毛片大全 | 三级完整在线观看高清视频 | 亚洲第一免费网站 | 都市激情综合 | 激情综合网色播五月 | 午夜看片网站 | 看免费黄色大片 | 午夜不卡影院 | 天天射天 | 伊人成综合 | 播放欧亚一级特黄录像 | 97色噜噜 | 免费网址视频在线看 | 天天插天天色 | 五月天婷婷丁香中文在线观看 | 天天操天天碰 | 国产精品第9页 | 狠狠色狠狠色综合日日不卡 | 五月天婷婷基地 | 伊人网在线视频观看 | 欧美综合色 | 成人中文字幕一区二区三区 | 国产在线一卡 | xxxx曰本| 人人插视频 | 天天看天天摸天天操 | 国产男女交性视频播放免费bd | 天天色图 | 激情五月激情综合网 | 久操天堂 | 久久美女视频 | 天天操综合网 |