東山Pi柒號-3-STM32MP1 引導鏈概述

LLLLLLLLLK發表於2024-10-22

進行移植前先看看ST官網的一些資料,瞭解晶片的工作方式:

STM32MP1 引導鏈概述

https://wiki.stmicroelectronics.cn/stm32mpu/wiki/STM32MP1_boot_chain_overview

image

啟動步驟如下

  1. BROM(BL1):晶片內部程式,根據BOOT PIN讀取對應啟動裝置裡的程式到內部SYSRAM執行,工作在在Secure World安全模式下。由於SYSRM很小,一般只用於載入First stage bootloader (FSBL)
  2. FSBL(BL2):第一階段bootloader,負責初始化時鐘樹和DDR,然後載入Second stage bootloader (SSBL)並跳到DDR執行。常見的FSBL有U-boot SPL,Trusted Firmware-A,它們的區別在於是否對SSBL韌體進行一些驗證再執行,也就是Secure Boot.
  3. SSBL(BL3):第二階段bootloader,如果不需要Secure Boot,則可以直接由U-boot SPL拉起U-Boot執行。在Secure Boot時分為下面幾步執行:
    • BL31:TF-A(Trusted Firmware-A)初始化安全執行環境,並對BL32進行進行韌體安全驗證啟動。
    • BL32:OP-TEE(Trusted Execution Environment 可信執行環境) 工作在安全模式下,使用ARM TrustZone硬體的安全隔離環境獨立執行,可為使用者空間程式提供安全服務互動。啟動完成後切換到Normal World非安全模式,並啟動BL33。
    • BL33:U-boot
  4. Kernel

這裡有一篇文章有詳細說明:
https://www.cnblogs.com/arnoldlu/p/14175126.html

相關文章