ใช้ DT หลายรายการ

ผู้ให้บริการ SoC และ ODM จํานวนมากรองรับการใช้ Device Tree (DT) หลายรายการในอุปกรณ์ ซึ่งช่วยให้ใช้ SKU หรือการกำหนดค่าหลายรายการในภาพเดียวได้ ในกรณีเช่นนี้ บูตโหลดเดอร์จะระบุฮาร์ดแวร์และโหลด DT ที่เกี่ยวข้องขณะรันไทม์

รูปที่ 1 การซ้อนทับ Device Tree (DTO) หลายรายการใน Bootloader

หมายเหตุ: คุณไม่จำเป็นต้องใช้ DT หลายรายการ

ตั้งค่า

หากต้องการเพิ่มการรองรับ DT หลายรายการลงในรูปแบบ DTO ให้ตั้งค่ารายการ DT หลักและรายการ DT วางซ้อนอีกรายการ

รูปที่ 2 การใช้งาน DTO รันไทม์สําหรับ DT หลายรายการ

ตัวโหลดการเปิดเครื่องควรทําสิ่งต่อไปนี้ได้

  • อ่านรหัส SoC แล้วเลือก DT หลักที่เกี่ยวข้อง
  • อ่านรหัสบอร์ดและเลือกชุด DT การวางซ้อนตามความเหมาะสม

คุณควรเลือก DT หลักเพียงรายการเดียวเพื่อใช้งานขณะรันไทม์ คุณเลือก DT วางซ้อนได้หลายรายการ แต่ต้องเข้ากันได้กับ DT หลักที่เลือก การใช้การวางซ้อนหลายรายการจะช่วยหลีกเลี่ยงการจัดเก็บการวางซ้อน 1 รายการต่อบอร์ดภายในพาร์ติชัน DTBO และช่วยให้บูตโหลดเดอร์ระบุชุดย่อยของการวางซ้อนที่จำเป็นตามรหัสบอร์ดได้ (หรืออาจใช้การสำรวจอุปกรณ์ต่อพ่วง) ตัวอย่างเช่น บอร์ด ก อาจต้องเพิ่มอุปกรณ์ด้วยการวางซ้อน 1, 3 และ 5 ส่วนบอร์ด ข อาจต้องเพิ่มอุปกรณ์ด้วยการวางซ้อน 1, 4 และ 5

พาร์ติชัน

หากต้องการแบ่งพาร์ติชัน ให้ระบุตำแหน่งที่เชื่อถือได้และเข้าถึงได้ในช่วงรันไทม์ของบูตโหลดเดอร์ในหน่วยความจำแฟลชเพื่อจัดเก็บ DTB และ DTBO (บูตโหลดเดอร์ต้องค้นหาไฟล์เหล่านี้ได้ในกระบวนการจับคู่) โปรดทราบว่า DTB และ DTBO ไม่สามารถอยู่ในพาร์ติชันเดียวกัน หาก DTB/DTBO อยู่ในพาร์ติชัน dtb/dtbo ให้ใช้โครงสร้างตารางและรูปแบบส่วนหัวตามที่ระบุไว้ในรูปแบบพาร์ติชัน DTB และ DTBO

ทำงานใน Bootloader

วิธีเรียกใช้

  1. ระบุ SoC และโหลด .dtb ที่เกี่ยวข้องจากพื้นที่เก็บข้อมูลลงในหน่วยความจำ
  2. ระบุบอร์ดและโหลด .dtbo ที่เกี่ยวข้องจากที่เก็บข้อมูลลงในหน่วยความจำ
  3. วางซ้อน .dtb กับ .dtbo เพื่อสร้างไฟล์ DT ที่ผสาน
  4. เริ่มเคอร์เนลโดยระบุที่อยู่หน่วยความจำของ DT ที่ผสาน