Nhiều nhà cung cấp SoC và ODM hỗ trợ sử dụng nhiều cây thiết bị (DT) trên một thiết bị, cho phép một hình ảnh cung cấp nhiều SKU hoặc cấu hình. Trong những trường hợp như vậy, trình tải khởi động xác định phần cứng và tải DT tương ứng trong thời gian chạy:
Hình 1. Nhiều lớp phủ cây thiết bị (DTO) trong trình tải khởi động.
Lưu ý: Bạn không bắt buộc phải sử dụng nhiều DT.
Thiết lập
Để hỗ trợ nhiều DT vào mô hình DTO, hãy thiết lập danh sách các DT chính và một danh sách DT lớp phủ khác.
Hình 2. Triển khai DTO trong thời gian chạy cho nhiều DT.
Trình tải khởi động có thể:
- Đọc mã nhận dạng SoC rồi chọn DT chính tương ứng.
- Đọc mã hội đồng quản trị rồi chọn tập hợp DT lớp phủ cho phù hợp.
Bạn chỉ nên chọn một DT chính để sử dụng trong thời gian chạy. Nhiều DT lớp phủ có thể được chọn nhưng phải tương thích với DT chính đã chọn. Sử dụng nhiều lớp phủ có thể giúp tránh việc lưu trữ một lớp phủ cho mỗi bảng trong DTBO phân vùng và cho phép trình tải khởi động xác định tập hợp con các lớp phủ bắt buộc dựa trên mã bo mạch (hoặc có thể bằng cách thăm dò các thiết bị ngoại vi). Cho Ví dụ: Bảng A có thể cần thêm các thiết bị bằng lớp phủ 1, 3 và 5 trong khi Board B có thể cần các thiết bị được thêm bởi lớp phủ 1, 4 và 5.
Phân vùng
Để phân vùng, hãy xác định một vị trí đáng tin cậy và có thể truy cập vào thời gian chạy của trình tải khởi động
trong bộ nhớ flash để lưu trữ DTB và DTBO (trình tải khởi động phải có thể định vị
các tệp này trong quá trình so khớp). Xin lưu ý rằng DTB và DTBO không thể
tồn tại trong cùng một phân vùng. Nếu DTB/DTBO của bạn nằm trong
Phân vùng dtb
/dtbo
, sử dụng tiêu đề và cấu trúc bảng
định dạng được nêu chi tiết trong DTB và DTBO
định dạng phân vùng.
Chạy trong trình tải khởi động
Cách chạy:
- Xác định SoC rồi tải tệp .dtb tương ứng qua bộ nhớ vào bộ nhớ.
- Xác định bảng và tải bảng tương ứng
.dtbo
từ bộ nhớ lưu trữ vào bộ nhớ. - Phủ
.dtb
bằng.dtbo
để hợp nhất DT. - Hạt nhân khởi động dựa vào địa chỉ bộ nhớ của DT đã hợp nhất.