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

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

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

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

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

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

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

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

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

شکل 1. اجرای معمولی برای بارگذاری درخت دستگاه در بوت لودر.
  1. ساختن:
    • از کامپایلر درختی دستگاه ( dtc ) برای کامپایل منبع درختی دستگاه ( .dts ) در یک حباب درخت دستگاه ( .dtb .) استفاده کنید که به صورت درخت دستگاه پهن شده فرمت شده است.
    • فایل .dtb را در یک مکان قابل دسترسی بوت لودر در زمان اجرا فلش کنید (جزئیات زیر).
  2. برای پارتیشن بندی، یک مکان قابل دسترسی و قابل اعتماد بوت لودر در حافظه فلش برای قرار دادن .dtb کنید. مکان های نمونه:
    پارتیشن بوت
    شکل 2. .dtb را با افزودن به image.gz و انتقال به عنوان " kernel " به .dtb در پارتیشن بوت قرار mkbootimg .
    پارتیشن منحصر به فرد
    شکل 3. .dtb را در یک پارتیشن منحصر به فرد قرار دهید (به عنوان مثال پارتیشن dtb ).
  3. برای اجرا:
    • .dtb . را از حافظه در حافظه بارگیری کنید.
    • با توجه به آدرس حافظه DT بارگذاری شده، هسته را شروع کنید.

واژه شناسی

این بخش از اصطلاحات درخت دستگاه زیر استفاده می کند:

DT درخت دستگاه
DTB لکه درخت دستگاه
DTBO Device Tree Blob برای Overlay
DTC کامپایلر درخت دستگاه
DTO پوشش درختی دستگاه
DTS منبع درخت دستگاه
FDT Flattened Device Tree، فرمت باینری موجود در فایل .dtb blob