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";