Linux设备树8

Linux设备树8(基于Linux6.6)---根文件系统中查看设备树

一、根文件系统查看设备树

在之前的分析中知道在内核启动时,是把dtb文件所在的内存块保留了下来。

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

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

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

 hexdump -C  /sys/firmware/fdt 

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

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

通过上面可以看到fdt文件只能查看。

查看转换后的设备节点文件

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

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

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

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

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

[label:] node-name[@unit-address] { 
    [properties definitions]          //就是属性定义,对当前节点描述,将硬件信息提供给内核处理
    [child nodes]                     //子节点 
 } 

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

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

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

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

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

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

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

二、U-Boot 下查看设备树

如果系统使用 U-Boot 作为引导加载程序,可以通过 U-Boot 提供的命令查看设备树。进入 U-Boot 命令行后,使用以下命令查看或修改设备树。

查看设备树:

fdt print

U-Boot 的 fdt 命令允许查看、修改和加载设备树。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值