Korzystanie z wielu DT

Wielu dostawców SoC i ODM obsługuje użycie wielu identyfikatorów ID na urządzeniu, dzięki czemu jeden obraz może obsługiwać wiele jednostek SKU/konfiguracji. W takich przypadkach program ładujący identyfikuje sprzęt i ładuje odpowiedni identyfikator w czasie wykonywania:

Rysunek 1. Nakładka wielu drzew urządzeń w programie ładującym.

Uwaga: użycie wielu ID nie jest obowiązkowe.

Konfigurowanie

Aby dodać obsługę wielu ID do modelu DTO, skonfiguruj listę głównych ID i kolejną listę nakładkowych ID.

Rysunek 2. Implementacja DTO w środowisku wykonawczym dla wielu DT.

Bootloader powinien móc:

  • Przeczytaj identyfikator SoC i wybierz odpowiednie główne drzewo urządzeń, i
  • Przeczytaj identyfikator płytki i odpowiednio wybierz zestaw drzew urządzeń nakładkowych.

Należy wybrać tylko jeden główny identyfikator ID do użycia w czasie wykonywania. Można wybrać wiele nałożonych ID, ale muszą one być kompatybilne z wybranym głównym ID. Używanie wielu nakładek może pomóc uniknąć przechowywania jednej nakładki na płytkę w partycji DTBO i umożliwić programowi ładującemu określenie podzbioru wymaganych nakładek na podstawie identyfikatora płyty (lub ewentualnie poprzez sondowanie urządzeń peryferyjnych). Na przykład płyta A może wymagać dodania urządzeń za pomocą nakładek 1, 3 i 5, podczas gdy płyta B może wymagać dodania urządzeń za pomocą nakładek 1, 4 i 5.

Partycjonowanie

Aby dokonać partycji, określ dostępną dla środowiska uruchomieniowego i zaufaną lokalizację w pamięci flash, w której będą przechowywane pliki DTB i DTBO (program ładujący musi być w stanie zlokalizować te pliki w procesie dopasowywania). Należy pamiętać, że jednostki DTB i DTBO nie mogą istnieć na tej samej partycji. Jeśli Twoje jednostki DTB/DTBO znajdują się na partycji dtb / dtbo , użyj struktury tabeli i formatu nagłówka szczegółowo opisanego w formacie partycji DTB/DTBO .

Działa w bootloaderze

Biegać:

  1. Zidentyfikuj SoC i załaduj odpowiedni plik .dtb z pamięci do pamięci.
  2. Zidentyfikuj płytkę i załaduj odpowiedni .dtbo z pamięci do pamięci.
  3. Nałóż plik .dtb na .dtbo , aby uzyskać połączony identyfikator ID.
  4. Uruchom jądro, biorąc pod uwagę adres pamięci połączonego ID.