Что такое дерево устройств?Преимущества И Недостатки? [закрытый]

Что такое дерево устройств в Linux ? каковы преимущества и недостатки дерева устройств?

Если кто-нибудь знает дерево устройств в деталях ,пожалуйста, помогите ответить на вышеуказанные вопросы .

1 ответов


дерево устройств-это описание аппаратных компонентов в системе, вот список файлов дерева устройств в linux для ARM arch:

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

отсюда:

http://devicetree.org/Device_Tree_Usage

дерево устройств-это простая древовидная структура узлов и свойств. Свойства пары ключ-значение и узел могут содержать оба свойства и дочерние узлы

узлы дерева описывают параметры, которые ядро linux или другие программные системы, такие как u-boot, использует для инициализации оборудования.

некоторые из преимуществ включают в себя:

  1. простое изменение конфигурации системы без перекомпиляции исходного кода.
  2. можно легко добавить поддержку нового оборудования (например, если у вас есть новый rev плата, которая изменяет только некоторые незначительные компоненты, вы можете запустить ту же загрузку программного обеспечения, что и предыдущие обороты платы, с небольшими изменениями .файл dts на новой доске...)
  3. можно повторно использовать существующие .файлы dts с инструкциями include и могут переопределять ранее определенные функции. Например, если вы включаете dtsi (Device tree include file), который определяет аппаратный компонент, но отключен, то вы можете просто создать новый узел в файле dts более высокого уровня, который не делает ничего, кроме включения этого компонента.
  4. они (могут) обеспечивают легкое для чтения и для того чтобы понять описания оборудования, и могут дать имена аппаратных компонентов описательные.

некоторые из недостатков включают в себя:

  1. не так просто написать новый .файл dts, потому что он требует очень подробных знаний об оборудовании.
  2. даже если вы знаете все детали оборудования, может быть трудно выяснить точный синтаксис для использования чтобы выразить то, что вы хотите сделать... (т. е. документация отсутствует во многих отношениях)

для меня написание .DTS файл почти 100% проб и ошибок, потянув примеры из других .DTS файлы и посмотреть, что он делает и, если он будет ближе к тому, что я хочу... Часто примеры-это все, с чем мне приходится работать, и не так много на пути объяснения того, что происходит.