Cây thiết bị (DT) là cấu trúc dữ liệu của các nút và thuộc tính được đặt tên mô tả phần cứng không thể khám phá. Các hệ điều hành, chẳng hạn như nhân Linux được sử dụng trong Android, sử dụng DT để hỗ trợ một loạt các cấu hình phần cứng được sử dụng bởi các thiết bị hỗ trợ Android. Các nhà cung cấp phần cứng cung cấp tệp nguồn DT của riêng họ, sau đó Linux sẽ biên dịch thành tệp Device Tree Blob (DTB) được bộ nạp khởi động sử dụng.
Lớp phủ cây thiết bị (DTO) cho phép một đốm màu cây thiết bị trung tâm (DTB) được phủ lên cây thiết bị. Bộ nạp khởi động sử dụng DTO có thể duy trì DT hệ thống trên chip (SoC) và tự động phủ lên DT dành riêng cho thiết bị, thêm các nút vào cây và thực hiện thay đổi đối với các thuộc tính trong cây hiện có.
Trang này trình bày chi tiết quy trình làm việc của bộ nạp khởi động điển hình để tải DT và cung cấp danh sách các thuật ngữ DT phổ biến. Các trang khác trong phần này mô tả cách triển khai hỗ trợ bộ nạp khởi động cho DTO , cách biên dịch , xác minh và tối ưu hóa việc triển khai DTO của bạn và cách sử dụng nhiều DT . Bạn cũng có thể biết chi tiết về cú pháp DTO và định dạng phân vùng DTO / DTBO bắt buộc.
Cập nhật trong bản phát hành Android 9
Trong Android 9, bộ nạp khởi động không được sửa đổi các thuộc tính được xác định trong lớp phủ cây thiết bị trước khi chuyển khối cây thiết bị hợp nhất cho hạt nhân.
Đang tải cây thiết bị
Tải cây thiết bị trong bộ nạp khởi động bao gồm việc xây dựng, phân vùng và chạy.

- Để xây dựng:
- Sử dụng trình biên dịch cây thiết bị (
dtc
) để biên dịch nguồn cây thiết bị (.dts
) thành đốm màu cây thiết bị (.dtb
), được định dạng là cây thiết bị phẳng. - Flash tệp
.dtb
vào vị trí có thể truy cập thời gian chạy của bộ nạp khởi động (chi tiết bên dưới).
- Sử dụng trình biên dịch cây thiết bị (
- Để phân vùng, hãy xác định vị trí tin cậy và có thể truy cập trong thời gian chạy của bộ nạp khởi động trong bộ nhớ flash để đặt
.dtb
. Vị trí ví dụ:Phân vùng khởi động Hình 2. Đặt .dtb
vào phân vùng khởi động bằng cách thêm vàoimage.gz
và chuyển dưới dạng "kernel
" đếnmkbootimg
.Phân vùng duy nhất Hình 3. Đặt .dtb
vào một phân vùng duy nhất (ví dụ: phân vùngdtb
). - Chạy:
- Tải
.dtb
từ bộ nhớ vào bộ nhớ. - Khởi động hạt nhân với địa chỉ bộ nhớ của DT được tải.
- Tải
Thuật ngữ
Phần này sử dụng các thuật ngữ cây thiết bị sau:
DT | Cây thiết bị |
---|---|
DTB | Cây thiết bị Blob |
DTBO | Khối cây thiết bị cho lớp phủ |
DTC | Trình biên dịch cây thiết bị |
DTO | Lớp phủ cây thiết bị |
DTS | Nguồn cây thiết bị |
FDT | Cây thiết bị phẳng, một định dạng nhị phân có trong .dtb blob |