Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Наложения дерева устройств

Дерево устройств (DT) - это структура данных, состоящая из именованных узлов и свойств, описывающих оборудование, которое невозможно обнаружить. Операционные системы, такие как ядро ​​Linux, используемое в Android, используют DT для поддержки широкого диапазона аппаратных конфигураций, используемых устройствами на базе Android. Поставщики оборудования предоставляют свои собственные исходные файлы DT, которые Linux затем компилирует в файл Blob дерева устройств (DTB), используемый загрузчиком.

Наложение дерева устройств (DTO) позволяет накладывать большой двоичный объект дерева устройств (DTB) на дерево устройств. Загрузчик, использующий DTO, может поддерживать DT системы на кристалле (SoC) и динамически накладывать DT для конкретного устройства, добавляя узлы в дерево и внося изменения в свойства существующего дерева.

На этой странице подробно описан типичный рабочий процесс загрузчика для загрузки DT и представлен список общих терминов DT. На других страницах этого раздела описывается, как реализовать поддержку загрузчика для DTO , как скомпилировать , проверить и оптимизировать реализацию DTO , а также как использовать несколько DT . Вы также можете получить подробную информацию о синтаксисе DTO и необходимом форматировании разделов DTO / DTBO .

Обновления в выпуске Android 9

В Android 9 загрузчик не должен изменять свойства, определенные в наложениях дерева устройств, перед передачей большого двоичного объекта объединенного дерева устройств в ядро.

Загрузка дерева устройств

Загрузка дерева устройств в загрузчик включает сборку, разбиение на разделы и запуск.

Рисунок 1. Типичная реализация для загрузки дерева устройств в загрузчике.
  1. Строить:
    • Используйте компилятор дерева устройств ( dtc ) для компиляции исходного .dts дерева устройств ( .dts ) в большой двоичный .dtb дерева устройств ( .dtb ), отформатированный как .dtb дерево устройств.
    • .dtb файл .dtb в место, доступное во время выполнения загрузчика (подробно описано ниже).
  2. Для разбиения на разделы определите доступное во время выполнения и .dtb место загрузчика во флэш-памяти, чтобы поместить .dtb . Примеры мест:
    Загрузочный раздел
    Рисунок 2. Поместите .dtb в загрузочный раздел, добавив к image.gz и передав как « kernel » в mkbootimg .
    Уникальный раздел
    Рисунок 3. Поместите .dtb в уникальный раздел (например, раздел dtb ).
  3. Бежать:
    • Загрузите .dtb из хранилища в память.
    • Запустить ядро ​​по адресу памяти загруженного DT.

Терминология

В этом разделе используются следующие термины дерева устройств:

DT Дерево устройств
DTB BLOB-объект дерева устройств
DTBO BLOB-объект дерева устройств для наложения
DTC Компилятор дерева устройств
DTO Наложение дерева устройств
DTS Источник дерева устройств
FDT Плоское дерево устройств, двоичный формат, содержащийся в файле .dtb