裝置樹狀結構疊加層

「裝置樹狀結構 (DT)」是具名節點和屬性的資料結構, 說明「不供探索」的硬體。核心,例如 Linux 核心 ,您可以運用 DT 來支援使用的各種硬體設定 在 Android 系統的裝置上運作硬體供應商自行提供裝置樹狀結構 來源 (DTS) 檔案,並編譯成裝置樹狀 blob (DTB) 檔案 使用裝置樹狀結構編譯器。這些檔案會用於 系統啟動載入程式。DTB 檔案包含二進位格式的扁平化裝置樹狀結構

裝置樹狀結構疊加層 (DTO) 讓中央 DTB 在 DT 上重疊 (在裝置樹狀結構的 blob 用於重疊圖層 (DTBO)。使用 DTO 的系統啟動載入程式可持續維護晶片系統 (SoC) DT 和動態疊加裝置專屬的 DT,在樹狀結構中新增節點 以及變更現有樹狀結構的屬性

Android 9 版本更新

在 Android 9 中,系統啟動載入程式不得修改 ,然後再將統一的 DTB 傳遞至核心。

載入 DT

在系統啟動載入程式中載入 DT,包括建構、分區及執行。

圖 1. 在系統啟動載入程式中載入裝置樹狀結構的典型實作方式。

  1. 如何建立及刷新 DTB:

    1a. 使用 DTC (dtc) 將 DTS (.dts) 編譯為 DTB (.dtb)。 DTB 採用扁平化的 DT 格式。 1b.將 .dtb 檔案刷新至系統啟動載入程式執行階段可存取的位置 (詳述如下)。

  2. 如要進行分區,請決定系統啟動載入程式執行階段可以存取且受信任位置 放入快閃記憶體中放置 .dtb範例地點

    圖 2. 將 .dtb 放入啟動分區,方法是
    附加至 image.gz,並以「kernel」形式傳遞
    開啟 mkbootimg

    圖 3. 將 .dtb 放入不重複的分區
    (例如 dtb 分區)。

  3. 如要載入 DTB 並啟動核心:

    • .dtb 從儲存空間載入記憶體。
    • 使用所載入 DT 的記憶體位址啟動核心。

後續步驟

本頁說明載入 DT 的一般系統啟動載入程式工作流程,並提供 「DT」常用詞彙清單本節其他頁面說明如何 導入系統啟動載入程式支援功能,以便瞭解如何 編譯、驗證及 改善 DTO,以及如何 使用多個 DT。你可以 也會取得 DTO 語法和 必選 DTO 和 DTBO 分區格式設定