Cihaz ağacı yer paylaşımları

Cihaz ağacı (DT), keşfedilemez donanımı tanımlayan adlandırılmış düğümler ve özelliklerin bulunduğu bir veri yapısıdır. Android'de kullanılan Linux çekirdeği gibi çekirdekler, Android destekli cihazların kullandığı çok çeşitli donanım yapılandırmalarını desteklemek için DT'leri kullanır. Donanım tedarikçileri, kendi cihaz ağacı kaynak (DTS) dosyalarını sağlar. Bu dosyalar, cihaz ağacı derleyicisi kullanılarak cihaz ağacı blob'u (DTB) dosyasına derlenir. Bu dosyalar daha sonra bootloader tarafından kullanılır. DTB dosyası, ikili biçimli bir düzleştirilmiş cihaz ağacı içerir.

Cihaz ağacı yer paylaşımı (DTO), merkezi bir DTB'nin DT'ye (yer paylaşımı için cihaz ağacı blob'u (DTBO)) yerleştirilmesini sağlar. DTO kullanan bir önyükleyici, çip üzerinde sistem (SoC) DT'sini koruyabilir ve ağaca düğüm ekleyerek ve mevcut ağaçtaki özelliklerde değişiklik yaparak cihaza özgü bir DT'yi dinamik olarak yerleştirebilir.

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

Android 9'da önyükleyici, birleştirilmiş DTB'yi çekirdeğe iletmeden önce DTO'larda tanımlanan özellikleri değiştirmemelidir.

DT yükle

Bir DT'yi önyükleyiciye yükleme işlemi, derleme, bölümlendirme ve çalıştırma işlemlerini içerir.

Şekil 1. Bootloader'da cihaz ağacını yüklemek için uygulanan tipik uygulama.

  1. DTB'yi oluşturmak ve flaşlamak için:

    1a. DTS'yi (.dts) DTB (.dtb) olarak derlemek için DTC'yi (dtc) kullanın. DTB, düzleştirilmiş bir DT olarak biçimlendirilir. 1b. .dtb dosyasını, önyükleyicinin çalışma zamanında erişebileceği bir konuma flaşlayın (ayrıntılar aşağıda verilmiştir).

  2. Bölüm oluşturmak için, .dtb'yi yerleştirmek üzere flash bellekte bootloader'ın çalışma zamanında erişebileceği ve güvenilir bir konum belirleyin. Örnek konumlar:

    Şekil 2. .dtb dosyasını,
    image.gz dosyasına ekleyerek ve mkbootimg'e
    "kernel" olarak göndererek bir önyükleme bölümüne yerleştirin.

    Şekil 3. .dtb dosyasını benzersiz bir bölüme yerleştirin
    (örneğin, dtb bölümü).

  3. DTB'yi yüklemek ve çekirdeği başlatmak için:

    • .dtb'ü depolama alanından belleğe yükleyin.
    • Yüklenen DT'nin bellek adresini kullanarak çekirdeği başlatın.

Sırada ne var?

Bu sayfada, DT yüklemeyle ilgili tipik bir önyükleyici iş akışı ayrıntılı olarak açıklanmakta ve yaygın DT terimlerinin listesi verilmektedir. Bu bölümdeki diğer sayfalarda açılış programı desteğini nasıl uygulayacağınız, DTO'nuzu nasıl derleyeceğiniz, doğrulayacağınız ve optimize edeceğiniz, ayrıca birden fazla DT'yi nasıl kullanacağınız açıklanmaktadır. Ayrıca DTO söz dizimi ve gerekli DTO ve DTBO bölüm biçimlendirmesi hakkında ayrıntılı bilgi edinebilirsiniz.