Как использовать дерево устройств


1.   Базовый формат данных  

2. Основные понятия

3. Как работает адресация

4. Как работают прерывания

5. Специфические данные устройства

6. Специальные узлы

7. Машина с мостом Host/PCI



1. Базовый формат данных

Дерево устройств представляет собой простую древовидную структуру узлов и свойств. Свойства - это пары ключ-значение. Узел может содержать как свойства, так и дочерние узлы. Например, ниже представлено простое дерево в исходном формате .dts :

Очевидно, что это дерево бесполезно, потому что оно ничего не описывает, но показывает структуру узлов и свойств. Здесь есть:

  • единственный корневой узел: / пара дочерних узлов: node1 и node2
  • пара потомков для node1: child-node1 и child-node2
  • куча свойств, разбросанных по дереву.

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

    Текстовые строки (с завершающим нулем) представлены в двойных кавычках: string-property = "строка символов";

    Ячейки - это 32-битные целые числа без знака, выделенные угловыми скобками: cell-property = <0xbeef 123 0xabcd1234> ;

    Двоичные данные выделяются квадратными скобками: binary-property = [0x01 0x23 0x45 0x67];

    Данные разных представлений можно объединить, используя запятую: mixed-property = "строка", [0x01 0x23 0x45 0x67], <0x12345678>;

    Запятые также используются для создания списков строк: string-list = "red fish", "blue fish";



  •   1    2    3    4    5    6    7