Google 致力于为黑人社区推动种族平等。查看具体举措
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Sovrapposizioni dell'albero dei dispositivi

Una struttura ad albero dei dispositivi (DT) è una struttura di dati di nodi denominati e proprietà che descrivono l'hardware non rilevabile. I sistemi operativi, come il kernel Linux utilizzato in Android, utilizzano DT per supportare un'ampia gamma di configurazioni hardware utilizzate dai dispositivi Android. I fornitori di hardware forniscono i propri file sorgente DT, che Linux compila poi nel file Device Tree Blob (DTB) utilizzato dal bootloader.

Un DTO ( Device Tree Overlay ) consente di sovrapporre un DTB (Central Device Tree blob) all'albero dei dispositivi. Un bootloader che utilizza DTO può mantenere il System-on-chip (SoC) DT e sovrapporre dinamicamente un DT specifico del dispositivo, aggiungendo nodi all'albero e apportando modifiche alle proprietà dell'albero esistente.

Questa pagina descrive un tipico flusso di lavoro del bootloader per il caricamento di un DT e fornisce un elenco di termini DT comuni. Altre pagine in questa sezione descrivono come implementare il supporto del bootloader per DTO , come compilare , verificare e ottimizzare l'implementazione DTO e come utilizzare più DT . È inoltre possibile ottenere dettagli sulla sintassi DTO e sulla formattazione della partizione DTO / DTBO richiesta.

Aggiornamenti nella versione Android 9

In Android 9, il bootloader non deve modificare le proprietà definite negli overlay della struttura ad albero dei dispositivi prima di passare il BLOB della struttura ad albero dei dispositivi unificato al kernel.

Caricamento di un albero dei dispositivi

Il caricamento di un albero dei dispositivi nel bootloader implica la creazione, il partizionamento e l'esecuzione.

Figura 1. Tipica implementazione per il caricamento dell'albero dei dispositivi nel bootloader.
  1. Costruire:
    • Utilizzare il compilatore dell'albero dei dispositivi ( dtc ) per compilare l'origine dell'albero dei dispositivi ( .dts ) in un .dtb dell'albero dei dispositivi ( .dtb ), formattato come albero dei dispositivi appiattito.
    • .dtb il flash del file .dtb in una posizione accessibile dal runtime del bootloader (descritta di seguito).
  2. Per partizionare, determinare una posizione affidabile e accessibile dal runtime del bootloader nella memoria flash in cui inserire .dtb . Località di esempio:
    Partizione di avvio
    Figura 2. Mettere .dtb nella partizione di avvio aggiungendolo a image.gz e passando come " kernel " a mkbootimg .
    Partizione unica
    Figura 3. Mettere .dtb in una partizione univoca (ad es. Partizione dtb ).
  3. Correre:
    • Carica .dtb dalla memoria nella memoria.
    • Avvia il kernel dato l'indirizzo di memoria del DT caricato.

Terminologia

Questa sezione utilizza i seguenti termini della struttura ad albero dei dispositivi:

DT Struttura dei dispositivi
DTB Blob dell'albero dei dispositivi
DTBO Blob dell'albero dei dispositivi per l'overlay
DTC Compilatore dell'albero dei dispositivi
DTO Sovrapposizione struttura ad albero dei dispositivi
DTS Sorgente dell'albero dei dispositivi
FDT Struttura dei dispositivi appiattita, un formato binario contenuto in un file .dtb