.. vim: syntax=rst 设备树简介 ===================== Device Tree是一种描述硬件的数据结构, DTS(Device Tree Source)就是用来描述目标板硬件信息的源文件。 设备树基本数据格式 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ device tree是一个简单的节点和属性树,属性是键值对,节点可以包含属性和子节点。下面是一个.dts格式的简单设备树 .. code-block:: v / { node1 { a-string-property = "A string"; a-string-list-property = "first string", "second string"; a-byte-data-property = [0x01 0x23 0x34 0x56]; child-node1 { first-child-property; second-child-property = <1>; a-string-property = "Hello, world"; }; child-node2 { }; }; node2 { an-empty-property; a-cell-property = <1 2 3 4>; /* each number (cell) is a uint32 */ child-node1 { }; }; }; 编译设备树后,可以使用 .. code-block:: v dtc -I dtb -O dts xxx.dtb -o xxx.dts 来查看实际生成的设备树文件 在运行系统时,/sys/firmware/devicetree 可以查看实际使用的是设备树 设备树常用操作 ===================== .. code-block:: v :caption: 删除属性 :linenos: / { ... ... demo1: demo1 { compatible = "demo1"; property1 = <1>; property2; property3 = <2>; property4; }; }; &demo1 { /delete-property/property2; /delete-property/property3; }; .. code-block:: v :caption: 删除节点 memory_DDR1@c0000000 { device_type = "memory"; reg = <0 0xc0000000 0 0x40000000>; }; / { /delete-node/ memory_DDR1@c0000000; }; 设备树实例解析 ======================== 下面解析Stm157设备树实例