Nakładki drzewa urządzeń

Drzewo urządzeń (DT) to struktura danych składająca się z nazwanych węzłów i właściwości, która opisuje niewykrywalny sprzęt. Jądra, takie jak jądro Linuksa używane w Androidzie, korzystają z DT, aby obsługiwać szeroką gamę konfiguracji sprzętowych używanych przez urządzenia z Androidem. Dostawcy sprzętu dostarczają własne pliki źródłowe drzewa urządzeń (DTS), które są kompilowane do pliku binarnego drzewa urządzeń (DTB) za pomocą kompilatora drzewa urządzeń. Pliki te są następnie używane przez program rozruchowy. Plik DTB zawiera spłaszczone drzewo urządzeń w formacie binarnym.

Nakładka drzewa urządzeń (DTO) umożliwia nałożenie centralnego pliku DTB na drzewo urządzeń (plik binarny drzewa urządzeń (DTBO)). Program rozruchowy korzystający z DTO może zachować DT układu SoC i dynamicznie nakładać DT specyficzne dla urządzenia, dodając węzły do drzewa i wprowadzając zmiany we właściwościach w istniejącym drzewie.

Aktualizacje w Androidzie 9

W Androidzie 9 program rozruchowy nie może modyfikować właściwości zdefiniowanych w obiektach DTO przed przekazaniem ujednoliconego DTB do jądra.

Wczytywanie DT

Wczytywanie drzewa urządzeń w programie rozruchowym obejmuje kompilowanie, dzielenie na partycje i uruchamianie.

Rysunek 1. Typowe wdrożenie wczytywania drzewa urządzenia w programie rozruchowym.

  1. Aby utworzyć i wgrać DTB:

    1a. Użyj DTC (dtc), aby skompilować DTS (.dts) do DTB (.dtb). DTB jest sformatowany jako spłaszczone drzewo urządzeń. 1b. Wgraj plik .dtb do lokalizacji dostępnej w czasie działania programu rozruchowego (szczegółowe informacje znajdziesz poniżej).

  2. Aby utworzyć partycję, określ lokalizację w pamięci flash, do której program rozruchowy ma dostęp i która jest zaufana, aby umieścić w niej .dtb. Przykładowe lokalizacje:

    Rysunek 2. Umieść plik .dtb w partycji rozruchowej,
    dołączając go do pliku image.gz i przekazując jako
    „kernel” do mkbootimg.

    Rysunek 3. Umieść plik .dtb w unikalnej partycji
    (np. partycji dtb).

  3. Aby wczytać DTB i uruchomić jądro:

    • Wczytaj .dtb z pamięci masowej do pamięci.
    • Uruchom jądro, używając adresu pamięci załadowanego DT.

Co dalej?

Na tej stronie znajdziesz szczegółowe informacje o typowym przepływie pracy programu rozruchowego podczas wczytywania DT oraz listę najczęściej używanych terminów związanych z DT. Na innych stronach w tej sekcji opisujemy, jak wdrożyć obsługę programu rozruchowego, skompilować, zweryfikować i zoptymalizować DTO oraz używać wielu DT. Możesz też uzyskać szczegółowe informacje o składni DTO i wymaganym formatowaniu partycji DTO i DTBO.