پوشش درختی دستگاه

درخت دستگاه (DT) یک ساختار داده از گره ها و ویژگی های نامگذاری شده است که سخت افزار غیرقابل کشف را توصیف می کند. هسته‌ها، مانند هسته لینوکس مورد استفاده در اندروید، از DTها برای پشتیبانی از طیف وسیعی از پیکربندی‌های سخت‌افزاری مورد استفاده توسط دستگاه‌های مجهز به اندروید استفاده می‌کنند. فروشندگان سخت افزار فایل های Device Tree Source (DTS) خود را عرضه می کنند که با استفاده از Device Tree Compiler در فایل Device Tree Blob (DTB) کامپایل می شوند. سپس این فایل ها توسط بوت لودر استفاده می شود. فایل DTB حاوی یک درخت دستگاه پهن شده با فرمت باینری است.

پوشش درختی دستگاه (DTO) یک حباب درختی دستگاه مرکزی (DTB) را قادر می سازد تا روی درخت دستگاه قرار گیرد. یک بوت لودر با استفاده از DTO می تواند سیستم روی تراشه (SoC) DT را حفظ کند و به صورت پویا یک DT خاص دستگاه را پوشش دهد، گره هایی را به درخت اضافه کند و تغییراتی در ویژگی های درخت موجود ایجاد کند.

DTBO Device Tree Blob برای Overlay

به روز رسانی در نسخه اندروید 9

در اندروید 9، بوت لودر نباید ویژگی های تعریف شده در همپوشانی درخت دستگاه را قبل از ارسال حباب درخت یکپارچه دستگاه به هسته تغییر دهد.

بارگذاری درخت دستگاه

بارگذاری درخت دستگاه در بوت لودر شامل ساخت، پارتیشن بندی و اجرا می شود.

شکل 1. پیاده سازی معمولی برای بارگذاری درخت دستگاه در بوت لودر.
  1. برای ایجاد و فلش کردن حباب درخت دستگاه:

    1a. از کامپایلر درختی دستگاه ( dtc >) برای کامپایل منبع درختی دستگاه ( .dts ) در یک حباب درختی دستگاه ( .dtb ) استفاده کنید. حباب درخت دستگاه به صورت درخت دستگاه پهن شده فرمت شده است. 1b. فایل .dtb را در یک مکان قابل دسترسی بوت لودر در زمان اجرا فلش کنید (جزئیات زیر).

  2. برای پارتیشن بندی، یک مکان قابل دسترسی و قابل اعتماد بوت لودر در حافظه فلش برای قرار دادن .dtb تعیین کنید. مکان های نمونه:

    پارتیشن بوت
    شکل 2. .dtb با افزودن به image.gz و انتقال به عنوان " kernel " به mkbootimg در پارتیشن بوت قرار دهید.
    پارتیشن منحصر به فرد
    شکل 3. .dtb را در یک پارتیشن منحصر به فرد قرار دهید (به عنوان مثال پارتیشن dtb ).
  3. برای بارگذاری حباب درخت دستگاه و راه اندازی هسته:

    • .dtb از حافظه در حافظه بارگیری کنید.
    • هسته را با استفاده از آدرس حافظه DT بارگذاری شده شروع کنید.

بعدش چی؟

این صفحه یک گردش کار معمولی بوت لودر برای بارگذاری DT را شرح می دهد و لیستی از اصطلاحات رایج DT را ارائه می دهد. سایر صفحات این بخش نحوه پیاده سازی پشتیبانی بوت لودر ، نحوه کامپایل ، تأیید، و بهینه سازی DTO و نحوه استفاده از چندین DT را شرح می دهند. شما همچنین می توانید جزئیات مربوط به نحو DTO و قالب بندی پارتیشن DTO/DTBO مورد نیاز را دریافت کنید.