Cihaz Ağacı Kaplamaları

Aygıt ağacı (DT), keşfedilemeyen donanımı tanımlayan adlandırılmış düğümlerin ve özelliklerin bir veri yapısıdır. Android'de kullanılan Linux çekirdeği gibi işletim sistemleri, Android destekli cihazlar tarafından kullanılan çok çeşitli donanım yapılandırmalarını desteklemek için DT'leri kullanır. Donanım satıcıları, Linux'un daha sonra önyükleyici tarafından kullanılan Device Tree Blob (DTB) dosyasında derlediği kendi DT kaynak dosyalarını sağlar.

Bir cihaz ağaç katlamalı (DTO) bir merkezi cihaz ağaç damla (DTB) Aygıt ağacından Kaplanmış olmasını sağlar. DTO kullanan bir önyükleyici, çip üzerinde sistem (SoC) DT'sini koruyabilir ve ağaca düğümler ekleyerek ve mevcut ağaçtaki özelliklerde değişiklikler yaparak, cihaza özel bir DT'yi dinamik olarak kaplayabilir.

Bu sayfa, bir CE yüklemek için tipik bir önyükleyici iş akışının ayrıntılarını verir ve genel CE terimlerinin bir listesini sağlar. Bu bölümdeki diğer sayfalar anlatan DTO için bootloader destek uygulamak nasıl, derlemek , doğrulamak ve sizin DTO uygulanmasını optimize ve nasıl birden DTS kullanın . Ayrıca ilgili ayrıntıları elde edebilirsiniz DTO sözdizimi ve gerekli biçimlendirme DTO / DTBO bölümü .

Android 9 Sürümündeki Güncellemeler

Android 9'da, önyükleyici, birleşik aygıt ağacı blobunu çekirdeğe geçirmeden önce aygıt ağacı kaplamalarında tanımlanan özellikleri değiştirmemelidir.

Bir aygıt ağacının yüklenmesi

Bir aygıt ağacının önyükleyiciye yüklenmesi, oluşturma, bölümleme ve çalıştırmayı içerir.

Önyükleyicisine yükleme cihazı ağacı için 1. Normal uygulama Şekil.
  1. İnşa etmek:
    • Cihaz ağaç derleyici (kullanın dtc cihaz ağacı kaynağını (derlemek) .dts bir cihaz ağacı damla (içine) .dtb düzleştirilmiş cihaz ağacı olarak biçimlendirilmiş).
    • Flaş .dtb bir bootloader çalışma zamanı erişilebilir konuma dosya (ayrıntılar aşağıdadır).
  2. Bölüm için koymak için flaş bellekteki çalışma zamanı erişilebilir ve güvenilir konum bir bootloader belirlemek .dtb . Örnek konumlar:
    Önyükleme Bölümü
    Şekil 2. Put .dtb için ekleyerek önyükleme bölümünde image.gz ve "geçen kernel kadar" mkbootimg .
    Benzersiz Bölme
    Şekil 3. Put .dtb (örneğin eşsiz bir bölümünde dtb bölümü).
  3. Koşmak:
    • Yük .dtb belleğe depolama.
    • Yüklenen DT'nin bellek adresi verilen çekirdeği başlatın.

terminoloji

Bu bölüm aşağıdaki aygıt ağacı terimlerini kullanır:

DT Cihaz Ağacı
DTB Cihaz Ağacı Blobu
DTBO Yer Paylaşımı için Cihaz Ağacı Blobu
DTC Cihaz Ağacı Derleyicisi
DTO Cihaz Ağacı Yerleşimi
DTS Cihaz Ağacı Kaynağı
FDT Düzleştirilmiş Cihaz Ağacı, bir ikili biçim içinde bulunan .dtb damla dosyası