欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

3天內不再提示

ATF的啟動過程介紹

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

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

在AArch32中是不會去加載bl31而是將EL3或者Monitor模式的運行代碼保存在bl32中執(zhí)行。在AArch64中,ATF的完整啟動流程如圖下所示。

圖片AArch64模式的ATF啟動流程

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

概要流程

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

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

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

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

bl32一般為TEE OS鏡像文件,本章以OP-TEE為例進行說明。

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

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

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

在bl31中會執(zhí)行runtime_service_inti函數(shù),該函數(shù)會調用注冊到EL3中所有服務的初始化函數(shù),其中有一個服務項就是TEE服務,該服務項的初始化函數(shù)會將TEEOS的初始化函數(shù)賦值給bl32_init變量,當所有服務項執(zhí)行完初始化后,在bl31中會調用bl32_init執(zhí)行的函數(shù)來跳轉到TEE OS中并開始執(zhí)行TEE
OS的啟動。

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

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

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

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

    關注

    134

    文章

    9176

    瀏覽量

    369365
  • 內存
    +關注

    關注

    8

    文章

    3060

    瀏覽量

    74368
  • 鏡像
    +關注

    關注

    0

    文章

    170

    瀏覽量

    10806
收藏 人收藏

    評論

    相關推薦

    詳解STM32啟動過程

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

    專家揭秘:STM32啟動過程全解

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

    STM32啟動過程

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

    介紹一下avr芯片的啟動過程

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

    系統(tǒng)啟動過程

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

    嵌入式uCLinux內核啟動過程分析

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

    IC啟動過程及Vcc電壓波形的認知

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

    Windows XP 啟動過程詳解

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

    國產300MW機組中壓缸啟動的特點及啟動過程

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

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

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

    STM32上電后啟動過程

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

    stm32啟動過程

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

    RL78啟動過程詳解

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

    logd的啟動過程和內容

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

    stm32啟動過程詳解

    啟動過程。本文將詳細介紹STM32的啟動過程。 一、復位電路 對于STM32微控制器來說,復位是啟動的第一步。任何系統(tǒng)都需要一個穩(wěn)定的狀態(tài)來啟動
    的頭像 發(fā)表于 12-08 15:47 ?1794次閱讀