Cihaz ağacı kaplamaları

Cihaz ağacı (DT), keşfedilemeyen donanımı tanımlayan adlandırılmış düğümlerden ve özelliklerden oluşan bir veri yapısıdır. Android'de kullanılan Linux çekirdeği gibi çekirdekler, 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ı , Device Tree Compiler kullanılarak Device Tree Blob (DTB) dosyasında derlenen kendi Device Tree Source (DTS) dosyalarını sağlar. Bu dosyalar daha sonra önyükleyici tarafından kullanılır. DTB dosyası ikili formatta düzleştirilmiş bir cihaz ağacı içerir.

Bir cihaz ağacı katmanı (DTO), merkezi bir cihaz ağacı bloğunun (DTB) cihaz ağacına yerleştirilmesini sağlar. DTO kullanan bir önyükleyici, çip üzerinde sistem (SoC) DT'sini koruyabilir ve cihaza özgü bir DT'yi dinamik olarak yerleştirerek ağaca düğümler ekleyebilir ve mevcut ağaçtaki özelliklerde değişiklikler yapabilir.

DTBO Yer Paylaşımı için Cihaz Ağacı Blobu

Android 9 sürümündeki güncellemeler

Android 9'da, önyükleyicinin, birleşik aygıt ağacı blobunu çekirdeğe aktarmadan önce aygıt ağacı katmanlarında tanımlanan özellikleri değiştirmemesi gerekir.

Cihaz ağacı yükleme

Önyükleyiciye bir aygıt ağacı yüklemek, oluşturmayı, bölümlendirmeyi ve çalıştırmayı içerir.

Şekil 1. Önyükleyicide aygıt ağacını yüklemek için tipik uygulama.
  1. Cihaz ağacı blobu oluşturmak ve flaşlamak için:

    1 A. Cihaz ağacı kaynağını ( .dts ) bir cihaz ağacı blobuna ( .dtb ) derlemek için cihaz ağacı derleyicisini ( dtc > ) kullanın. Cihaz ağacı blobu, düzleştirilmiş bir cihaz ağacı olarak biçimlendirilir. 1b. .dtb dosyasını önyükleyici çalışma zamanında erişilebilen bir konuma aktarın (aşağıda ayrıntılı olarak açıklanmıştır).

  2. Bölümlemek için, .dtb dosyasını koyacak önyükleyicinin çalışma zamanında erişilebilen ve flash bellekte güvenilen bir konumunu belirleyin. Örnek konumlar:

    Önyükleme Bölümü
    Şekil 2. image.gz dosyasının sonuna ekleyerek ve mkbootimg " kernel " olarak ileterek .dtb dosyasını önyükleme bölümüne yerleştirin.
    Benzersiz Bölüm
    Şekil 3. .dtb benzersiz bir bölüme yerleştirin (örn. dtb bölümü).
  3. Cihaz ağacı blobunu yüklemek ve çekirdeği başlatmak için:

    • .dtb dosyasını depodan belleğe yükleyin.
    • Yüklenen CE'nin bellek adresini kullanarak çekirdeği başlatın.

Sıradaki ne?

Bu sayfada bir CE'nin yüklenmesine ilişkin tipik bir önyükleyici iş akışının ayrıntıları verilir ve yaygın DT terimlerinin bir listesi sunulur. Bu bölümdeki diğer sayfalarda önyükleyici desteğinin nasıl uygulanacağı , DTO'nuzun nasıl derleneceği , doğrulanacağı ve optimize edileceği ve birden fazla DT'nin nasıl kullanılacağı açıklanmaktadır. Ayrıca DTO sözdizimi ve gerekli DTO/DTBO bölümü biçimlendirmesi hakkında da ayrıntılı bilgi alabilirsiniz.