设备树在开发板的系统中的体现
2024-01-10 06:26:24
一.? 简介
设备树文件中的设备节点,可以在开发板系统中看到。
也就说,开发板加载设备树文件,Linux内核启动系统以后,可以在根文件系统里看到设备树的节点信息。在/proc/device-tree/目录下存放着设备树信息。
二. 设备树在开发板系统中的体现
Linux 内核启动的时候,会解析设备树中各个节点的信息,并且在开发板的根文件系统的 /proc/device-tree 目录下,根据节点名字创建不同文件夹,如下所示:
可以看到,以上就是目录 /proc/device-tree 目录下的内容,/proc/device-tree 目录下是根节点 “/” 的所有属性和子节点,我们依次来看一下这些属性和子节点。
开发板上电启动后,进入系统根目录下,输入 "cd /proc/device-tree" 命令进入 /proc/device-tree目录:
/ #
/ # cd /proc/device-tree/
/sys/firmware/devicetree/base # ls
#address-cells memory
#size-cells model
aliases name
backlight pxp_v4l2
chosen regulators
clocks reserved-memory
compatible soc
cpus sound
interrupt-controller@00a01000 spi4
可以看出,以上文件或目录就是对应设备树文件中的节点与属性。下面依次来看一下这些属性和子节点。
1.?? 根节点 “/”下的各个属性
在开发板系统中,根节点属性表现为一个个的文件
,例如,上面系统启动后看到
的 “
#address-cells
”、“
#size-cells
”、“
compatible
”、“
model
” 和 “
name
” 这
5
个文件,它们在设
备树中就是根节点的
5
个属性。
可以输入
"cat"
命令来查看
model
和
compatible
这两个文件的内容:
查看 compatile属性的值:
可以看出,文件 model 的内容是“Freescale i.MX6 ULL 14x14 EVK Board”,文件 compatible 的内容为“fsl,imx6ull-14x14-evkfsl,imx6ull”。打开文件 imx6ull-alientek-emmc.dts 查看一下,这不正是根节点 “/” 的 model 和 compatible 属性值吗!
2、根节点 “/” 下的各子节点
开发板系统中的 /proc/device-tree 目录,就是设备树在根文件系统中的体现,同样是按照树形结构组织的,进 入/proc/device-tree/soc 目录中,就可以看到 soc 节点的所有子节点:
/sys/firmware/devicetree/base # cd soc
/sys/firmware/devicetree/base/soc # ls
#address-cells compatible ranges
#size-cells dma-apbh@01804000 sram@00900000
aips-bus@02000000 gpmi-nand@01806000 sram@00904000
aips-bus@02100000 interrupt-parent sram@00905000
aips-bus@022000 name
busfreq pmu
/sys/firmware/devicetree/base/soc #
可以看出,和根节点 “
/
” 一样,上面
的所有文件分别为
soc
节点的属性文件和子节点文件夹。
大家可以自行查看一下这些属性文件的内容,是否和
imx6ull.dtsi
中
soc
节点的属性值相同,也可
以进入 “
busfreq
” 这样的文件夹里面,查看
soc
节点的子节点信息。
文章来源:https://blog.csdn.net/wojiaxiaohuang2014/article/details/135487519
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!