Birden çok DT kullan

Birçok SoC tedarikçisi ve ODM, bir cihazda birden fazla cihaz ağacının (DT) kullanılmasını destekler. Bu sayede, tek bir resim birden fazla SKU'yu veya yapılandırmayı destekleyebilir. Bu gibi durumlarda önyükleyici, donanımı tanımlar ve çalışma zamanında ilgili DT'yi yükler:

Şekil 1. Önyükleyicide birden fazla cihaz ağacı yer paylaşımı (DTO)

Not: Birden fazla DT kullanmak zorunlu değildir.

Ayarla

DTO modeline birden fazla DT desteği eklemek için ana DT'lerin listesini ve başka bir yer paylaşımlı DT listesi oluşturun.

Şekil 2. Birden fazla DT için çalışma zamanı DTO uygulaması.

Önyükleyici şunları yapabilmelidir:

  • SoC kimliğini okuyup ilgili ana DT'yi seçin.
  • Kart kimliğini okuyup buna göre yer paylaşımı DT'si grubunu seçin.

Çalışma zamanında kullanılmak üzere yalnızca bir ana DT seçilmelidir. Birden fazla yer paylaşımlı DT seçilebilir ancak bu DT'ler, seçilen ana DT ile uyumlu olmalıdır. Birden fazla yer paylaşımı kullanmak, DTBO bölümünde her kart için bir yer paylaşımı depolanmasını önleyebilir ve önyükleyicinin, kart kimliğine göre (veya harici cihazları inceleyerek) gerekli yer paylaşımlarının alt kümesini belirlemesini sağlayabilir. Örneğin, A Kurulu'nda 1, 3 ve 5 numaralı yer paylaşımlarıyla eklenen cihazlara ihtiyaç duyulabilirken B Kurulu'nda 1, 4 ve 5 numaralı yer paylaşımlarıyla eklenen cihazlara ihtiyaç duyulabilir.

Bölüm

Bölme oluşturmak için, DTB'leri ve DTBO'ları depolamak üzere önyükleyicinin çalışma zamanında erişebileceği ve güvenilir bir flash bellek konumu belirleyin (önyükleyici, eşleştirme işleminde bu dosyaları bulabilmelidir). DTB'lerin ve DTBO'ların aynı bölümde bulunamayacağını unutmayın. DTB'leriniz/DTBO'larınız dtb/dtbo bölümündeyse DTB ve DTBO bölüm biçiminde ayrıntılı olarak açıklanan tablo yapısını ve başlık biçimini kullanın.

Bootloader'da çalıştırma

Çalıştırmak için:

  1. SoC'yi tanımlayın ve depolama alanındaki ilgili .dtb dosyasını belleğe yükleyin.
  2. Kartı tanımlayın ve ilgili .dtbo dosyasını depolama alanından belleğe yükleyin.
  3. Birleştirilmiş bir DT oluşturmak için .dtb.dtbo ile yer paylaşımı yapın.
  4. Birleştirilmiş DT'nin bellek adresini kullanarak çekirdeği başlatın.