日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1-Alternative Boot Flows

發布時間:2025/3/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1-Alternative Boot Flows 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引流關鍵詞: 中斷、同步異常、異步異常、irq、fiq、BL1,BL2,BL3,BL31,BL32,BL33,AP_BL1,AP_BL2,AP_BL3,AP_BL31,AP_BL32,AP_BL33,SCP_BL1,SCP_BL2,BL0,BL30, optee、ATF、TF-A、Trustzone、optee3.14、MMU、VMSA、cache、TLB、arm、armv8、armv9、TEE、安全、內存管理、頁表…

快速鏈接:
.
👉👉👉 個人博客筆記導讀目錄(全部) 👈👈👈


[專欄目錄]-ATF/FF-A/specification學習

1.交替引導流程

1.1。EL3 有效負載替代引導流程

在預生產系統上,需要能夠在最高異常級別執行任意裸機代碼。它允許完全、直接地訪問硬件,例如運行硅浸泡測試。

盡管可以從頭開始實施一些裸機安全固件,但這在某些平臺上是一項復雜的任務,具體取決于將系統置于預期狀態所需的配置級別。

與其引導裸機應用程序,一種可能的折衷方案是 通過 TF-A 引導。這是作為替代引導流程實現的,其中修改后的 BL2 引導 EL3 有效負載,而不是加載其他 BL 映像并將控制權傳遞給 BL31。它通過以下方式降低了開發 EL3 裸機代碼的復雜性:EL3 payloads

  • 將系統置于已知的架構狀態;

  • 處理平臺安全世界初始化;

  • 如果平臺需要,加載 SCP_BL2 圖像。

在 Arm 標準平臺上啟動 EL3 有效負載時,TrustZone 控制器的配置得到簡化,僅啟用區域 0 并配置為僅允許安全訪問。這樣就可以完全訪問 EL3 有效負載的整個 DRAM。

系統保持與在默認引導流程中進入 BL31 時相同的狀態。特別是:

  • 運行在EL3;

  • 當前狀態是 AArch64;

  • 小端數據訪問;

  • 禁用所有例外;

  • MMU 禁用;

  • 緩存被禁用。

1.1.1。啟動 EL3 有效負載

EL3 有效負載圖像是一個獨立的圖像,不是 FIP 的一部分。它不是由 TF-A 加載的。因此,有兩種可能的情況:

  • EL3 有效負載可以駐留在非易失性存儲器 (NVM) 中并就地執行。在這種情況下,啟動它只需要EL3_PAYLOAD_BASE在構建 TF-A 時在 NVM 中指定正確的地址即可。

  • EL3 有效負載需要在運行時加載到易失性存儲器(例如 DRAM)中。

為了在后一種情況下提供幫助,SPIN_ON_BL1_EXIT=1可以使用構建選項。它在 BL1 中引入的無限循環在適當的時刻停止執行,以便調試器控制目標并加載有效負載(例如,通過 JTAG)。

預計這種加載方法在大多數情況下都可以工作,因為調試器連接通常在預生產系統中可用。不過,用戶可以自由使用任何其他特定于平臺的機制來加載 EL3 有效負載。

1.2. 預加載的 BL33 替代引導流程

一些平臺能夠將 BL33 預加載到內存中,而不是依賴 TF-A 來加載它。這可以簡化普通世界代碼的打包并提高開發環境中的性能。安全世界冷啟動完成后,TF-A 只需跳轉到構建時提供的 BL33 基地址。

要使用此選項,PRELOADED_BL33_BASE編譯 TF-A 時必須使用 build 選項。例如,以下命令將創建一個沒有 BL33 的 FIP,并準備跳轉到地址 0x80000000 加載的 BL33 圖像:

make PRELOADED_BL33_BASE=0x80000000 PLAT=fvp all fip

總結

以上是生活随笔為你收集整理的1-Alternative Boot Flows的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。