《设备树 — 根文件系统中查看设备树(六)》

  我们知道了在内核启动时,是把dtb文件所在的内存块保留了下来。

  而这个内存块是可以在内核中查看的。

  查看的位置在sys文件系统中。

  因为dtb文件是二进制文件,所以要用hexdump命令来查看。

 hexdump -C  /sys/firmware/fdt 

  部分信息如下,和我们传给内核的dtb文件里的完全一样  

  

  当然在/sys/firmware/文件下还有另一个目录文件

  

  接下来我们查看转换后的设备节点文件

  

   devicetree目录下的是叫base的根目录。

  之后里面就是按照dts写的那样组织的

  

   通过这里可以查看各个子节点或者属性,比如查看compatible属性

  

   也可以查看以32bit表示的整数

  

   这里要说的是对于函有reg节点的属性,一般我们在写dts的时候是在节点名字后面加上地址的即   node-name@unit-adderss

  所以如果我们写的时候名字后面不跟地址,内核dtb转换device_node的时候名字会自动加上@unit-adderss的

  在内核的/sys/devices/platform目录下是展现的现在的所有注册的的平台设备

  

  这里要说明的是如果设备下面有of_node,就证明这个platform_device是通过设备树传参来创建的。

  

  当然这个节点是一个连接文件,它指向的是刚才前面在/sys/firmware/devicetree/base/目录下的设备节点

  

   当然一个在/sys/devices/platform/目录下的设备若是没有of_node的一个链接文件,那么它就不是通过设备树文件创建的。

  可能是内核编译的时候创建或者通过安装模块创建。

  

  最后要说明的是proc文件系统里面的device-tree指向的就是sys文件系统里面的设备树

  

原文地址:https://www.cnblogs.com/zhuangquan/p/12877274.html