2013-07-03 58 views
6

Cây thiết bị trong Linux là gì? Ưu điểm và nhược điểm của cây thiết bị là gì?Cây thiết bị là gì? Ưu điểm và nhược điểm?

Nếu có ai biết chi tiết về cây thiết bị, hãy giúp trả lời các câu hỏi ở trên.

+0

https://stackoverflow.com/questions/17488320/how-to-program-linux-dts-device-tree-files/44994940#44994940 –

Trả lời

15

Cây thiết bị là một mô tả của các thành phần phần cứng trong một hệ thống, đây là danh sách các file cây thiết bị trong linux cho vòm cánh tay:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts?id=refs/tags/v3.10

Từ đây:

http://devicetree.org/Device_Tree_Usage

Cây thiết bị là cấu trúc cây đơn giản của các nút và thuộc tính. Thuộc tính là cặp khóa-giá trị, và nút có thể chứa cả tính và các nút con

Các nút của cây mô tả thông số hạt nhân Linux, hoặc các hệ thống phần mềm khác như u-boot, sử dụng để init phần cứng.

Một số trong những lợi thế bao gồm:

  1. đơn giản để thay đổi cấu hình của hệ thống mà không cần phải biên dịch lại mã nguồn.
  2. Có thể dễ dàng thêm hỗ trợ cho phần cứng mới (ví dụ: nếu bạn có bản rev mới của bo mạch chỉ thay đổi một số thành phần nhỏ, bạn có thể chạy cùng tải phần mềm như các vòng trước đó. vào tệp .dts trên bảng mới ...)
  3. Có thể sử dụng lại các tệp .dts hiện có với các câu lệnh bao gồm và có thể ghi đè lên chức năng được xác định trước đó. Ví dụ nếu bạn bao gồm một dtsi (cây thiết bị bao gồm tệp) định nghĩa một thành phần phần cứng, nhưng nó đã vô hiệu hóa, thì bạn chỉ có thể tạo một nút mới trong tệp dts cấp cao hơn của bạn mà không làm gì ngoài việc bật thành phần đó.
  4. Họ (có thể) cung cấp dễ dàng để đọc và hiểu mô tả phần cứng và có thể cung cấp cho các thành phần phần cứng tên mô tả.

Một số trong những nhược điểm bao gồm:

  1. Không dễ dàng như vậy để viết một tập tin .dts mới, bởi vì nó đòi hỏi kiến ​​thức rất chi tiết của phần cứng.
  2. Thậm chí nếu bạn biết tất cả các chi tiết của phần cứng nó có thể là khó để tìm ra các cú pháp chính xác để sử dụng để thể hiện những gì bạn muốn làm ... (tức là các tài liệu còn thiếu trong nhiều khía cạnh)

Đối với tôi viết một tập tin .dts là gần như 100% dùng thử và lỗi, kéo ví dụ từ các tập tin .dts khác và xem nó làm gì và nếu nó gần gũi hơn với những gì tôi muốn ... Thường thì các ví dụ là tất cả tôi phải làm việc với, và không có nhiều cách để giải thích về những gì đang xảy ra.

+2

theo liên kết này nếu bạn muốn biết cách trình điều khiển thiết bị có liên quan với cây thiết bị và cách sửa đổi tệp dts theo trình điều khiển của bạn. : http://xillybus.com/tutorials/device-tree-zynq-1 – Raulp