27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Birden fazla DT kullanma
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
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:
- SoC'yi tanımlayın ve depolama alanındaki ilgili .dtb dosyasını belleğe yükleyin.
- Kartı tanımlayın ve ilgili
.dtbo
dosyasını depolama alanından belleğe yükleyin.
- Birleştirilmiş bir DT oluşturmak için
.dtb
'ü .dtbo
ile yer paylaşımı yapın.
- Birleştirilmiş DT'nin bellek adresini kullanarak çekirdeği başlatın.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-26 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-26 UTC."],[],[],null,["# Use multiple DTs\n\nMany SoC vendors and ODMs support the use of multiple device trees (DTs) on a device,\nenabling one image to power multiple SKUs or configurations. In such cases, the\nbootloader identifies the hardware and loads the corresponding DT at runtime:\n\n**Figure 1.** Multiple device tree overlays (DTOs) in bootloader.\n\n**Note:** Using multiple DTs isn't mandatory.\n\nSet up\n------\n\nTo add support for multiple DTs to the DTO model, set up a list of main DTs\nand another list of overlay DTs.\n\n**Figure 2.** Runtime DTO implementation for multiple DTs.\n\nThe bootloader should be able to:\n\n- Read the SoC ID and select the corresponding main DT.\n- Read the board ID and select the set of overlay DTs accordingly.\n\nOnly one main DT should be selected for use at runtime. Multiple overlay DTs\nmay be selected but they must be compatible with the chosen main DT. Using\nmultiple overlays can help avoid storing one overlay per board within the DTBO\npartition and enable the bootloader to determine the subset of required overlays\nbased on the board ID (or possibly by probing the peripherals). For\nexample, Board A may need the devices added by the overlays 1, 3, and 5 while\nBoard B may need the devices added by the overlays 1, 4, and 5.\n\nPartition\n---------\n\nTo partition, determine a bootloader runtime-accessible and trusted location\nin flash memory to store the DTBs and DTBOs (bootloader must be able to locate\nthese files in the matching process). Keep in mind that DTBs and DTBOs cann't\nexist in the same partition. If your DTBs/DTBOs are in the\n`dtb`/`dtbo` partition, use the table structure and header\nformat detailed in [DTB and DTBO\npartition format](/docs/core/architecture/dto/partitions).\n\nRun in bootloader\n-----------------\n\nTo run:\n\n1. **Identify the SoC** and load the corresponding .dtb from storage into memory.\n2. **Identify the board** and load the corresponding `.dtbo` from storage into memory.\n3. Overlay the `.dtb` with the `.dtbo` to be a merged DT.\n4. Start kernel given the memory address of the merged DT."]]