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

Использование нескольких ОУ

Многие поставщики SoC и ODM поддерживают использование нескольких DT на устройстве, что позволяет использовать один образ для нескольких SKU / конфигураций. В таких случаях загрузчик идентифицирует оборудование и загружает соответствующее DT во время выполнения:

Рис. 1. Наложение нескольких деревьев устройств в загрузчике.

Примечание. Использование нескольких ОУ не обязательно.

Настройка

Чтобы добавить поддержку нескольких DT в модель DTO, настройте список основных DT и еще один список оверлейных DT.

Рисунок 2. Реализация DTO во время выполнения для нескольких DT.

Загрузчик должен уметь:

  • Прочтите идентификатор SoC и выберите соответствующее главное дерево устройства, и
  • Считайте идентификатор платы и выберите соответствующий набор деревьев оверлейных устройств.

Для использования во время выполнения следует выбрать только одно основное ОУ. Можно выбрать несколько оверлейных ОУ, но они должны быть совместимы с выбранным основным ОУ. Использование нескольких оверлеев может помочь избежать сохранения одного оверлея для каждой платы в разделе DTBO и позволить загрузчику определять подмножество требуемых оверлеев на основе идентификатора платы (или, возможно, путем проверки периферийных устройств). Например, плате A могут потребоваться устройства, добавленные с помощью оверлеев 1, 3 и 5, в то время как для платы B могут потребоваться устройства, добавленные с помощью оверлеев 1, 4 и 5.

Разбиение

Для разбиения на разделы определите доступное во время выполнения и надежное место загрузчика во флеш-памяти для хранения DTB и DTBO (загрузчик должен иметь возможность найти эти файлы в процессе сопоставления). Имейте в виду, что DTB и DTBO не могут находиться в одном разделе. Если ваши DTB / DTBO находятся в разделе dtb / dtbo , используйте структуру таблицы и формат заголовка, подробно описанные в разделе DTB / DTBO Partition Format .

Запуск в загрузчике

Бежать:

  1. Определите SoC и загрузите соответствующий .dtb из хранилища в память.
  2. Определите плату и загрузите соответствующий .dtbo из хранилища в память.
  3. .dtb на .dtbo чтобы .dtbo объединенное DT.
  4. Запустить ядро ​​по адресу памяти объединенного DT.