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

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

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

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

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

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

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

טוען עץ מכשירים

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

איור 1. יישום אופייני לטעינת עץ המכשיר ב-bootloader.
  1. לבנות:
    • השתמש במהדר עץ ההתקנים ( dtc ) כדי לקמפל את מקור עץ ההתקן ( .dts ) לתוך עץ מכשיר ( .dtb ), המעוצב כעץ התקנים שטוח.
    • הבזק את קובץ ה-. .dtb למיקום נגיש בזמן ריצה של טוען האתחול (מפורט להלן).
  2. כדי לבצע חלוקה למחיצות, קבע מיקום נגיש לזמן ריצה של טוען האתחול ומהימן בזיכרון הפלאש כדי לשים .dtb . מיקומים לדוגמה:
    מחיצת אתחול
    איור 2. הכנס את .dtb למחיצת האתחול על ידי הוספה ל- image.gz והעברת kernel " ל- mkbootimg .
    מחיצה ייחודית
    איור 3. שים את .dtb במחיצה ייחודית (למשל מחיצת dtb ).
  3. לרוץ:
    • טען .dtb מאחסון לזיכרון.
    • התחל קרנל בהינתן כתובת הזיכרון של ה-DT הנטען.

טרמינולוגיה

סעיף זה משתמש במונחי עץ המכשירים הבאים:

DT עץ מכשיר
DTB Device Tree Blob
DTBO Device Tree Blob עבור שכבת-על
DTC מהדר עץ התקנים
DTO שכבת עץ על מכשיר
DTS מקור עץ המכשיר
FDT Flattened Device Tree, פורמט בינארי הכלול בקובץ .dtb blob