使用多個 DT

許多 SoC 供應商和 ODM 支援在裝置上使用多種裝置樹狀結構 (DT), 可讓您使用一張映像檔支援多個 SKU 或設定。在這種情況下, 系統啟動載入程式會識別硬體,並在執行階段載入相應的 DT:

圖 1. 系統啟動載入程式中的多裝置樹狀結構疊加層 (DTO)。

注意:您可以選擇是否要使用多個 DT。

設定

如要在 DTO 模型中新增對多種 DT 的支援,請設定主要 DT 清單 以及重疊 DT 的清單

圖 2. 為多個 DT 實作執行階段 DTO。

系統啟動載入程式應可執行下列操作:

  • 讀取 SoC ID,然後選取對應的主要 DT。
  • 讀取主機板 ID,並據此選取一組疊加層 DT。

只應選取一個要在執行階段使用的主要 DT。多個重疊 DT 必須與所選主要 DT 相容,但其必須與所選主要 DT 相容。使用 多個疊加層有助於避免在 DTBO 中為每個板塊儲存一個疊加層 分區並啟用系統啟動載入程式,以決定所需的疊加層子集 根據主機板 ID (或探測週邊裝置) 而定。適用對象 例如,開發板 A 可能需要用到疊加層 1、3 和 5 加入的裝置 委員會 B 可能需要疊加 1、4 和 5 新增的裝置。

分區

如要進行分區,請決定系統啟動載入程式執行階段可以存取且受信任位置 使用快閃記憶體來儲存 DTB 和 DTBO (系統啟動載入程式必須 比對程序中的這些檔案)。提醒你,DTB 和 DTBO 存在於相同分區中如果您的 DTB/DTBO 落在 dtb 個分區 (共 dtbo 個),請使用表格結構和標題 格式請見 DTB 和 DTBO 格式 分區格式

在系統啟動載入程式中執行

跑步程序:

  1. 找出 SoC,並從中載入對應的 .dtb 複製到記憶體
  2. 識別白板並載入對應的 將 .dtbo 從儲存空間轉換為記憶體。
  3. .dtb 重疊與要合併的 .dtbo 資料移轉
  4. 根據合併 DT 的記憶體位址啟動核心。