设备树在开发板的系统中的体现

一.  简介

设备树文件中的设备节点,可以在开发板系统中看到。

也就说,开发板加载设备树文件,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 节点的子节点信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/335972.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CDN加速之HTTPS配置

记录一下HTTPS配置的免费证书配置 2张图搞定 最后补充说明: 由于CDN采用的Tengine服务基于Nginx,因此开启HTTPS安全加速功能的加速域名,只支持上传Nginx能读取的PEM格式的证书。如果证书不是PEM格式,需转换成PEM格式。转换方法&a…

python 队列

队列常用方法 Python中的队列是一种数据结构,遵循先进先出(FIFO)的原则。在Python中,你可以使用内置模块queue提供的Queue类来实现队列数据结构。队列是一种常见的数据结构,用于按照特定顺序处理数据项,例…

上市公司-是否数字化转型数据集(2000-2022年)

参照《经济评论》中张欣(2023)、《中国工业经济》中巫强(2023)的做法,团队对上市公司-是否数字化转型进行测算。若年报中出现数字化转型的关键词,则视企业的是否数字化转型赋值为1,否则为0。使用…

哈希表-散列表数据结构

1、什么是哈希表? 哈希表也叫散列表,哈希表是根据关键码值(key value)来直接访问的一种数据结构,也就是将关键码值(key value)通过一种映射关系映射到表中的一个位置来加快查找的速度,这种映射关系称之为哈希函数或者散列函数&…

BOM简介

1.1 常用的键盘事件 1.1.1 键盘事件 键盘事件触发条件onkeydown按键被按下时触发onkeypress按键被按下时触发onkeyup按键被松开时触发 注意&#xff1a;addEventListener事件不需要加on <script>//1. keydown 按键按下的时候触发,按任意键都触发&#xff0c;也可以识…

【已解决】c语言编写的lib如何调用

本博文源于笔者在vs2015正在编写的lib想要调用的问题&#xff0c;正常的操作是将项目生成lib&#xff0c;但是然后又如何操作呢&#xff0c;本博文就是解决这样的问题 文章目录 问题再现步骤1&#xff1a;编写lib.h与lib.c步骤2&#xff1a;生成lib步骤3&#xff1a;添加用得到…

Vue-11、Vue计算属性

Vue计算属性是Vue实例的属性&#xff0c;用来根据已有的数据进行计算得到新的数据。计算属性的值会根据它的依赖缓存起来&#xff0c;在依赖没有发生改变时直接返回缓存的值&#xff0c;提高了性能。 计算属性的定义方式为在Vue实例中使用computed关键字&#xff0c;并将计算属…

Clion断点无效(LLDB调试器)

使用Clion时&#xff0c;配置的编译器是Visual Studio&#xff0c;当中的Debugger只有选择LLDB。 项目是CMAKE类型&#xff0c;这里启动调试会发现断点无法命中。 先检查项目的CMakeLists.txt&#xff0c;发现如下配置会影响&#xff1a; set(CMAKE_BUILD_TYPE Debug) set(CM…

GPT大模型在生物、地球、农业、气象、生态、环境科学可以应用?

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

基于 SpringBoot + vue 的医院管理系统(含源码,数据库,文档)

基于 SpringBoot vue 的医院管理系统 †前后端分离思想&#xff0c;这个系统简直太棒了&#xff01;屯 光这个系统采用了 前后端分离思想&#xff0c;后端使用 SpringBoot和 SpringMVC框架&#xff0c;让代码更高效&#xff0c;更易于维护。前端则使用了 vue js 和ElementU…

Matlab绘制双纵轴图(yyaxis函数)

一、方法一yyaxis函数 x linspace(0,pi); y1 cos(x); yyaxis left; % 激活左边的轴 plot(x,y1) xlabel(X-axis); ylabel(left Y-axis); % 给左y轴添加轴标签hold on yyaxis right; % 激活右边的轴 y2 cos(2*x); plot(x,y2) ylim([-1,1]); % 设置右y轴的界限 ylabel(right Y…

关于git使用的tips

前言 这里是一些git指令使用的tips&#xff0c;如果你作为初学者的话&#xff0c;我认为它将对你有所帮助。 常见指令 常见问题处理 1、使用git clone下载【huggingface.co】资源超时或无法请求问题 绝大多数情况是网络问题&#xff0c;首先如果是比较大的资源&#xff0c;你需…