שימוש במספר מסדי נתונים

ספקים רבים של SoC ו-ODM תומכים בשימוש במספר עצי מכשירים (DT) במכשיר, ומאפשרים לתמוך בתמונה אחת במספר מק"טים או תצורות. במקרים כאלה, bootloader מזהה את החומרה ומטעין את ה-DT התואם בזמן הריצה:

איור 1. שכבות-על מרובות של עץ המכשיר (DTO) בתוכנת האתחול.

הערה: אין חובה להשתמש בכמה טבלאות DT.

הגדרה

כדי להוסיף תמיכה בכמה DTs למודל ה-DTO, צריך להגדיר רשימה של DTs ראשיים ורשימת DTs נוספת של שכבות-על.

איור 2. הטמעת DTO בסביבת זמן ריצה למספר DTs.

מנהל האתחול אמור להיות מסוגל:

  • קוראים את מזהה ה-SoC ובוחרים את קובץ ה-DT הראשי התואם.
  • קוראים את מזהה הלוח ובוחרים את קבוצת ה-DT של שכבת-העל בהתאם.

צריך לבחור רק DT ראשי אחד לשימוש בזמן הריצה. אפשר לבחור כמה תבניות DT של שכבות-על, אבל הן חייבות להיות תואמות לתבנית ה-DT הראשית שנבחרה. שימוש בכמה שכבות-על יכול לעזור למנוע אחסון של שכבת-על אחת לכל לוח במחיצה של DTBO, ולאפשר למחולל האתחול לקבוע את קבוצת המשנה של שכבות-העל הנדרשות על סמך מזהה הלוח (או אולי על ידי בדיקה של הרכיבים החיצוניים). לדוגמה, לוח א' עשוי להזדקק למכשירים שנוספו על ידי שכבות-העל 1, 3 ו-5, ולוח ב' עשוי להזדקק למכשירים שנוספו על ידי שכבות-העל 1, 4 ו-5.

מחיצה

כדי ליצור מחיצות, צריך לקבוע מיקום מהימן שזמין ל-bootloader במהלך זמן הריצה בזיכרון הפלאש, כדי לאחסן את קובצי ה-DTB ו-DTBO (ה-bootloader צריך להיות מסוגל לאתר את הקבצים האלה בתהליך ההתאמה). חשוב לזכור ש-DTB ו-DTBO לא יכולים להתקיים באותו מחיצה. אם ה-DTB או ה-DTBO נמצאים במחיצה dtb/dtbo, צריך להשתמש במבנה הטבלה ובפורמט הכותרת שמפורטים בקטע פורמט המחיצה של DTB ו-DTBO.

הפעלה בתוכנת האתחול

כדי להריץ:

  1. מזהים את ה-SoC ומטעינים את קובץ ה-dtb .התואם מהאחסון לזיכרון.
  2. מזהים את הלוח ומטעינים את .dtbo התואם מהאחסון לזיכרון.
  3. מיזוג של .dtb עם .dtbo ליצירת DT.
  4. הפעלת הליבה לפי כתובת הזיכרון של ה-DT הממוזג.