bl 1
bl 1 是 TF-A 的第一個啟動階段,芯片復位以后就會運行 bl1 鏡像,TF-A 提供了 bl1 源碼。但是,實際上 bl1一般是半導體廠商自己編寫的內部 Boot ROM 代碼,并沒有使用 TF-A 提供的 bl1 鏡像。因此 bl1部分的實現就千差萬別,不同的半導體廠商有不同的實現方法。
一般 bl1 要做的就是初始化 CPU,如果芯片支持不同的啟動設備,那么還需要初始化不同的啟動設置,比如 NAND、EMMC、SD、USB或串口等。然后根據 BOOT 引腳的高低電平來 判斷當前所選擇的啟動設備,從對應的啟動設備中加載 bl2 鏡像,并放到對應的內存中,最后跳轉到 bl2鏡像并運行。
bl 2
bl 2 會進一步的初始化芯片,比如初始化 DDR、MMU、串口等。bl2 會將剩下三個階段 (bl31、bl32 和bl33)對應的鏡像加載到指定的內存中,最后根據實際情況來啟動剩下三個階段的鏡像。
bl 31
在 AArch64 中,bl31 主要是 EL3 的 Runtime 固件。
bl 32
bl32 一般為安全系統(TEE OS)固件,比如 OP-TEE。TF-A 為 AArch32 提供了 EL3 的 Runtime 軟件,這個Runtime 軟件就是 bl32 固件,sp_min 就是這個 Runtime 軟件。大家可以打開 TF-A 的 bl32
源碼文件夾,其下就有一個名為“sp_min”的子文件夾,這個就是 bl32 的 sp_min 源碼,如圖所示:
bl32 提供運行時安全服務,在 TF-A 中默認使用 sp_min。sp_min 是一個最小的 AArch32 安全負載(Secure Payload),整合了 PSCI 庫以及 AArch32 的 EL3 運行時軟件。sp_min 可以替代可信系統(TEE OS)或者可信執行環境(TEE),比如 OP-TEE。用戶可以自行選擇 bl32 使用哪個軟件包。
bl32 充當安全監控(secure monitor),因此它向非安全系統(non-secure os,比如 linux)提供了一些安全服務。非安全的應用軟件可以通過安全監控調用(secure monitor calls)來使用這些安全服務,這些代碼支持標準的服務調用,比如 PSCI。
bl 33
bl33 就是 Normal World 下的鏡像文件,比如 uboot。
至此,我們對 TF-A 的基本啟動流程有了一個大概的了解,我們知道了 TF-A 分為多個階段,不同的階段其工作內容不同。但是,在實際的開發中并不一定會用到 TF-A 中所有啟動階段。
TF-A 是用于完成安全啟動的,OP-TEE 是 TEE OS,如果使用 OP-TEE 的話它會和 linux 內核同時運行,OP-TEE負責可信應用,linux 就是普通的應用程序。
TF-A 分為了不同階段:bl1、bl2、bl31、bl32 和 bl33,這個主要是面向 AArch64 的,對于 AArch32 而言只有 4個階段:
bl1:第 1 個階段,一般為芯片內部 ROM 代碼
bl2:第 2 個階段,可信啟動固件
bl32:EL3 運行時(Runtime)軟件
bl33:非安全固件,比如 uboot
其中 bl1、bl2 和 bl32 都屬于 TF-A 的一部分(如果你使用 TF-A 提供的 bl1 的話)。
-
芯片
+關注
關注
456文章
51192瀏覽量
427295 -
嵌入式
+關注
關注
5093文章
19178瀏覽量
307701 -
ROM
+關注
關注
4文章
575瀏覽量
85991 -
Linux
+關注
關注
87文章
11345瀏覽量
210402 -
代碼
+關注
關注
30文章
4828瀏覽量
69055
發布評論請先 登錄
相關推薦
如何使用Yocto更新已更改的TF-A設備樹來產生新的鏡像文件?
關于TF-A(ATF)固件的基本知識詳解
TF-A與U-boot的打印輸出顯示了不同的信息是為什么呢
stm32mp157f啟動時出現TF-A異常是為什么?如何解決?
為157F-DK2設置TF-A sp_min總是報錯的原因?
如何去調試U-Boot和TF-A中的USB以及OTG控制器呢
怎樣配置TF-A模塊來管理時間戳篡改呢
請問如何使用TF-A中的I2C1來控制STPMIC1?
什么會導致fsbl tf-a引導加載程序在閃爍后崩潰?
如何使用STM32CubeProgrammer在沒有USB的情況下將TF-A、u-boot、根文件系統刷入SD卡?
如何從TF-A或uboot加載/啟動Cortex-M4?
TF-A主要保護的是什么
TF-A的不同啟動階段有哪些
![<b class='flag-5'>TF-A</b>的不同<b class='flag-5'>啟動</b>階段有哪些](https://file1.elecfans.com/web2/M00/A3/EA/wKgaomT-1KSAI6SoAAQc3T1xT_Q621.jpg)
TF-A移植是什么意思
![<b class='flag-5'>TF-A</b>移植是什么意思](https://file1.elecfans.com/web2/M00/A2/81/wKgZomT-1vSACo9uAAYBBTWOF-U594.jpg)
評論