שכבות על עץ מכשיר

עץ התקנים (DT) הוא מבנה נתונים של צמתים ומאפיינים בעלי שם המתארים חומרה בלתי ניתנת לגילוי. ליבות, כגון ליבת לינוקס המשמשת באנדרואיד, משתמשות ב-DTs כדי לתמוך במגוון רחב של תצורות חומרה המשמשות מכשירים המופעלים על ידי אנדרואיד. ספקי חומרה מספקים קבצי Device Tree Source (DTS) משלהם, אשר מורכבים לקובץ Device Tree Blob (DTB) באמצעות ה- Device Tree Compiler . לאחר מכן משתמשים בקבצים אלה על ידי טוען האתחול. קובץ DTB מכיל עץ מכשיר שטוח בפורמט בינארי.

שכבת עץ התקן (DTO) מאפשרת שכבת עץ מרכזי של מכשיר (DTB) על עץ המכשיר. טוען אתחול המשתמש ב-DTO יכול לתחזק את מערכת-על-שבב (SoC) DT ולכסות באופן דינמי DT ספציפי למכשיר, להוסיף צמתים לעץ ולבצע שינויים במאפיינים בעץ הקיים.

DTBO Device Tree Blob עבור שכבת-על

עדכונים במהדורת אנדרואיד 9

באנדרואיד 9, למטעין האתחול אסור לשנות את המאפיינים שהוגדרו בשכבות העל של עץ המכשירים לפני העברת גוש עץ המכשיר המאוחד לקרנל.

טען עץ מכשיר

טעינת עץ התקן ב-bootloader כרוכה בבנייה, חלוקה והפעלה.

איור 1. יישום אופייני לטעינת עץ המכשיר ב-bootloader.
  1. כדי ליצור ולהבהב את גוש עץ המכשיר:

    1א. השתמש במהדר עץ ההתקנים ( dtc >) כדי לקמפל את מקור עץ ההתקן ( .dts ) לתוך עץ מכשיר ( .dtb ). כתם עץ המכשיר מעוצב כעץ מכשיר שטוח. 1ב. הבזק את קובץ .dtb למיקום נגיש בזמן ריצה של טוען האתחול (מפורט להלן).

  2. כדי לבצע חלוקה למחיצות, קבע מיקום נגיש לזמן ריצה של טוען האתחול ומהימן בזיכרון הפלאש כדי לשים .dtb . מיקומים לדוגמה:

    מחיצת אתחול
    איור 2. הכנס .dtb למחיצת האתחול על ידי הוספה ל- image.gz והעברת כ-" kernel " ל- mkbootimg .
    מחיצה ייחודית
    איור 3. שים את .dtb במחיצה ייחודית (למשל מחיצת dtb ).
  3. כדי לטעון את גוש עץ המכשיר ולהפעיל את הליבה:

    • טען .dtb מאחסון לזיכרון.
    • התחל את הקרנל באמצעות כתובת הזיכרון של ה-DT הנטען.

מה הלאה?

דף זה מפרט זרימת עבודה טיפוסית של טוען אתחול לטעינת DT ומספק רשימה של מונחי DT נפוצים. דפים אחרים בסעיף זה מתארים כיצד ליישם תמיכה בטעינת האתחול , כיצד להדר , לאמת ולבצע אופטימיזציה של ה-DTO שלך וכיצד להשתמש במספר DTs . אתה יכול גם לקבל פרטים על תחביר DTO ועיצוב מחיצות DTO/DTBO הנדרש.