การวางซ้อนแผนผังอุปกรณ์

แผนผังอุปกรณ์ (DT) คือโครงสร้างข้อมูลของโหนดและพร็อพเพอร์ตี้ที่มีชื่อซึ่ง อธิบายฮาร์ดแวร์ที่ค้นพบไม่ได้ เคอร์เนล เช่น เคอร์เนลของ Linux ใช้ใน Android ใช้ DT เพื่อรองรับการกำหนดค่าฮาร์ดแวร์หลากหลายประเภทที่ใช้ ด้วยอุปกรณ์ที่ใช้ Android ผู้จำหน่ายฮาร์ดแวร์จัดหาแผนผังอุปกรณ์ของตนเอง ไฟล์ต้นฉบับ (DTS) ซึ่งคอมไพล์ไว้ในไฟล์ Device Tree Blob (DTB) โดยใช้คอมไพเลอร์ Device Tree จากนั้นจะมีการใช้ไฟล์เหล่านี้โดย Bootloader ไฟล์ DTB มีแผนผังอุปกรณ์แบบแยกเดี่ยวในรูปแบบไบนารี

การวางซ้อนแผนผังอุปกรณ์ (DTO) ทำให้ DTB ส่วนกลางซ้อนทับบน DT (BLOB แผนผังอุปกรณ์) สำหรับโฆษณาซ้อนทับ (DTBO)) Bootloader ที่ใช้ DTO สามารถบำรุงรักษาระบบวงจรรวมบนชิปได้ (SoC) DT และวางซ้อน DT เฉพาะอุปกรณ์แบบไดนามิกในแบบไดนามิก เพิ่มโหนดให้กับแผนผัง และทำการเปลี่ยนแปลงคุณสมบัติในโครงสร้างที่มีอยู่

การอัปเดตใน Android 9 รุ่น

ใน Android 9 Bootloader จะต้องไม่แก้ไข พร็อพเพอร์ตี้ที่กำหนดไว้ใน DTO ก่อนที่จะส่ง DTB แบบรวมไปยังเคอร์เนล

โหลด DT

การโหลด DT ใน Bootloader เกี่ยวข้องกับการสร้าง การแบ่งพาร์ติชัน และการเรียกใช้

รูปที่ 1 การใช้งานทั่วไปสำหรับการโหลดแผนผังอุปกรณ์ใน Bootloader

  1. วิธีสร้างและแฟลช DTB มีดังนี้

    1ก. ใช้ DTC (dtc) เพื่อคอมไพล์ DTS (.dts) เป็น DTB (.dtb) DTB มีรูปแบบเป็น DT ที่แยกเป็นหลายรายการ 1ข. แฟลชไฟล์ .dtb ไปยังตำแหน่งที่เข้าถึงได้รันไทม์ของ Bootloader (ตามรายละเอียดด้านล่าง)

  2. ในการแบ่งพาร์ติชัน ให้ระบุตำแหน่งที่เชื่อถือได้และเข้าถึงได้รันไทม์ของ Bootloader ในหน่วยความจำแฟลชเพื่อใส่ .dtb สถานที่ตัวอย่าง:

    รูปที่ 2 ใส่ .dtb ในพาร์ติชันการเปิดเครื่องโดย
    ต่อท้าย image.gz แล้วส่งผ่านเป็น
    "kernel" กับ mkbootimg

    รูปที่ 3 ใส่ .dtb ในพาร์ติชันที่ไม่ซ้ำกัน
    (เช่น พาร์ติชัน dtb)

  3. หากต้องการโหลด DTB และเริ่มต้นเคอร์เนล:

    • โหลด .dtb จากพื้นที่เก็บข้อมูลลงในหน่วยความจำ
    • เริ่มเคอร์เนลโดยใช้ที่อยู่หน่วยความจำของ DT ที่โหลด

สิ่งต่อไปที่ควรทำ

หน้านี้แสดงรายละเอียดเวิร์กโฟลว์ Bootloader ทั่วไปสำหรับการโหลด DT และให้มี รายการคำศัพท์ของ DT ที่พบบ่อย หน้าอื่นๆ ในส่วนนี้อธิบายวิธี ใช้การสนับสนุน Bootloader อย่างไร คอมไพล์ ยืนยัน และ เพิ่มประสิทธิภาพ DTO ของคุณและวิธี ใช้ DT หลายรายการ คุณสามารถ ดูรายละเอียดเกี่ยวกับไวยากรณ์ DTO และ ต้องระบุ การจัดรูปแบบพาร์ติชัน DTO และ DTBO