A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Utilizzare più DT
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Molti fornitori di SoC e ODM supportano l'uso di più alberi di dispositivi (DT) su un dispositivo,
consentendo a un'immagine di supportare più SKU o configurazioni. In questi casi, il bootloader identifica l'hardware e carica il DT corrispondente in fase di esecuzione:

Figura 1. Più overlay dell'albero del dispositivo (DTO) nel bootloader.
Nota:l'utilizzo di più DT non è obbligatorio.
Configura
Per aggiungere il supporto di più DT al modello DTO, configura un elenco di DT principali
e un altro elenco di DT in overlay.

Figura 2. Implementazione di DTO di runtime per più DT.
Il bootloader deve essere in grado di:
- Leggi l'ID SoC e seleziona il DT principale corrispondente.
- Leggi l'ID scheda e seleziona di conseguenza l'insieme di DT in overlay.
È necessario selezionare un solo DT principale da utilizzare in fase di runtime. È possibile selezionare più DT in overlay, ma devono essere compatibili con il DT principale scelto. L'utilizzo di più overlay può contribuire a evitare di memorizzare un overlay per scheda all'interno della partizione DTBO e consentire al bootloader di determinare il sottoinsieme di overlay richiesti in base all'ID scheda (o eventualmente mediante il rilevamento delle periferiche). Ad esempio, la scheda A potrebbe richiedere i dispositivi aggiunti dagli overlay 1, 3 e 5, mentre la scheda B potrebbe richiedere i dispositivi aggiunti dagli overlay 1, 4 e 5.
Partizione
Per eseguire la partizione, determina una posizione attendibile e accessibile in fase di runtime del bootloader nella memoria flash per memorizzare i DTB e i DTBO (il bootloader deve essere in grado di individuare questi file nella procedura di corrispondenza). Tieni presente che i DBT e i DTBO non possono essere presenti nella stessa partizione. Se i tuoi DTB/DTBO si trovano nella tabella
dtb
/dtbo
, utilizza la struttura della tabella e il formato della tabella
descritti in Formato della tabella
DTB e DTBO.
Esegui nel bootloader
Per eseguire:
- Identifica il SoC e carica il file .dtb corrispondente dalla memoria archiviazione nella memoria.
- Identifica la scheda e carica il corrispondente
.dtbo
dalla memoria di archiviazione nella memoria.
- Sovrapponi
.dtb
a .dtbo
per ottenere un
tabella di dati unita.
- Avvia il kernel in base all'indirizzo di memoria del DT unito.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-26 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-26 UTC."],[],[],null,["# Use multiple DTs\n\nMany SoC vendors and ODMs support the use of multiple device trees (DTs) on a device,\nenabling one image to power multiple SKUs or configurations. In such cases, the\nbootloader identifies the hardware and loads the corresponding DT at runtime:\n\n**Figure 1.** Multiple device tree overlays (DTOs) in bootloader.\n\n**Note:** Using multiple DTs isn't mandatory.\n\nSet up\n------\n\nTo add support for multiple DTs to the DTO model, set up a list of main DTs\nand another list of overlay DTs.\n\n**Figure 2.** Runtime DTO implementation for multiple DTs.\n\nThe bootloader should be able to:\n\n- Read the SoC ID and select the corresponding main DT.\n- Read the board ID and select the set of overlay DTs accordingly.\n\nOnly one main DT should be selected for use at runtime. Multiple overlay DTs\nmay be selected but they must be compatible with the chosen main DT. Using\nmultiple overlays can help avoid storing one overlay per board within the DTBO\npartition and enable the bootloader to determine the subset of required overlays\nbased on the board ID (or possibly by probing the peripherals). For\nexample, Board A may need the devices added by the overlays 1, 3, and 5 while\nBoard B may need the devices added by the overlays 1, 4, and 5.\n\nPartition\n---------\n\nTo partition, determine a bootloader runtime-accessible and trusted location\nin flash memory to store the DTBs and DTBOs (bootloader must be able to locate\nthese files in the matching process). Keep in mind that DTBs and DTBOs cann't\nexist in the same partition. If your DTBs/DTBOs are in the\n`dtb`/`dtbo` partition, use the table structure and header\nformat detailed in [DTB and DTBO\npartition format](/docs/core/architecture/dto/partitions).\n\nRun in bootloader\n-----------------\n\nTo run:\n\n1. **Identify the SoC** and load the corresponding .dtb from storage into memory.\n2. **Identify the board** and load the corresponding `.dtbo` from storage into memory.\n3. Overlay the `.dtb` with the `.dtbo` to be a merged DT.\n4. Start kernel given the memory address of the merged DT."]]