设备树基本数据格式
设备树是节点和属性的简单树状结构,节点和属性是键值对。节点可以包含属性和孩子节点,例如,下面是一个 .dts 的基本数据形式:
/dts-v1/;
/ {
node1 {
a-cell-property = <1 2 3 4>;
a-string-property = "SylixOS";
a-string-list-property = "Hello SylixOS", "Bye SylixOS";
child-node1 {
first-child-property;
second-child-property = <1>;
a-string-property = "Hello, SylixOS";
};
child-node2 {
};
};
node2 {
an-empty-property;
a-Byte-data-property = [01 23 34 56];
child-node1 {
};
};
};
一个基本的设备树结构包含以下几个方面:
- 一个根节点:“/”。
- 几个子节点:“node1”、“node2”。
- 一个子节点的几个孩子节点:“child-node1”、“child-node2”。
- 一些包含在节点中的属性。属性是简单的键值对,其中属性的值可以为空或者是任意的字节流。
- 不同类型的数据在设备树中表达的方式也有所不同。
- 字符串:用“双引号”表示,如 string-property = "SylixOS"。
- 字符串列表:多个字符串用“逗号”隔开。
- Cells 属性:用“<>”表示,使用 32 位无符号整数,如 cell-property = <1 2 3 4>。
- 二进制数据:用
[ ]
表示,如 Byte-data-property = [01 23 34 56]。 - 在同一个属性中的多个属性值可以用“逗号”分隔,并且多个属性值的数据类型也可以不同。