Pek çok SoC satıcısı ve ODM, bir aygıtta birden çok DT kullanımını destekleyerek, bir görüntünün birden çok SKU / konfigürasyona güç sağlamasına olanak tanır. Bu gibi durumlarda, önyükleyici donanımı tanımlar ve ilgili DT'yi çalışma zamanında yükler:
Not: Birden fazla DT kullanmak zorunlu değildir.
Kurulum
DTO modeline birden çok DT desteği eklemek için, ana DT'lerin bir listesini ve başka bir kaplama DT'leri listesi ayarlayın.
Önyükleyici şunları yapabilmelidir:
- SoC ID'yi okuyun ve ilgili ana cihaz ağacını seçin ve
- Kart kimliğini okuyun ve buna göre kaplama aygıt ağaçlarının setini 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 bunlar seçilen ana DT ile uyumlu olmalıdır. Birden fazla yer paylaşımının kullanılması, DTBO bölümü içinde kart başına bir kaplama saklamaktan kaçınmaya yardımcı olabilir ve önyükleyicinin kart kimliğine göre (veya muhtemelen çevre birimlerini araştırarak) gerekli kaplamaların alt kümesini belirlemesini sağlar. Örneğin, Kart A, katmanlar 1, 3 ve 5 tarafından eklenen cihazlara ihtiyaç duyabilirken, Kart B, katmanlar 1, 4 ve 5 tarafından eklenen cihazlara ihtiyaç duyabilir.
Bölümleme
Bölümlemek için, DTB'leri ve DTBO'ları depolamak için flash bellekte önyükleyici çalışma zamanı erişimli ve güvenilir bir konum belirleyin (bootloader bu dosyaları eşleştirme sürecinde 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 / DTBO Bölüm Biçimi'nde ayrıntılı olarak açıklanan tablo yapısını ve başlık biçimini kullanın.
Bootloader'da çalışıyor
Koşmak:
- SoC'yi tanımlayın ve ilgili .dtb'yi depodan belleğe yükleyin.
- Kartı tanımlayın ve ilgili
.dtbo
dosyasını depodan belleğe yükleyin. - Birleştirilmiş bir DT olması için
.dtbo
.dtb
ile.dtbo
. - Birleştirilmiş DT'nin bellek adresi verilen çekirdeği başlatın.