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

一.  简介

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

也就说,开发板加载设备树文件,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.mzph.cn/news/609873.shtml

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

相关文章

数据结构单链表定义及例题(上)

本文简要的介绍了单链表的定义,以及单链表的头插法和尾插法的实现 文章目录 一、单链表数据结构的定义 二、头插法建立单链表(带头节点) 三、尾插法建立单链表(带头节点) 四、打印单链表 五、测试及全部代码 总结 前言 单链表是学习,以及考研无论是408还是自命题都是很重…

序列模型(4)—— Scaling Laws

本文介绍 LLM 训练过程中重要的 Scaling Laws,这是一个经验规律,指出了固定训练成本(总计算量FLOPs) C C C 时,如何调配模型规模(参数量) N N N 和训练 Token 数据量 D D D,才能实现…

Spring中Bean的生命周期

第一、Bean的生命周期 Spring中Bean的生命周期就是Bean在Spring中从创建到销毁的整个过程,主要分为以下5个部分: 1.实例化: 给Bean分配内存空间(对应JVM中的“加载”,这里只是分配了内存); 2.设…

ffmpeg[学习(四)](代码实现) 实现音频数据解码并且用SDL播放

0、作者杂谈 CSDN大多数都是落后的,要么是到处复制粘贴的,对于初学者我来说困惑了很久,大多数CSDN文章都是使用旧的API ,已经被否决了,于是我读一些官方文档,和一些开源项目音视频的输出过程,写…

开源的RNA-Seq分析软件Trinity的详细介绍和使用方法

介绍 GitHub - trinityrnaseq/trinityrnaseq: Trinity RNA-Seq de novo transcriptome assembly Trinity是一种开源的RNA-Seq分析软件,用于转录组的de novo组装。转录组de novo组装是通过将RNA-Seq数据中的短序列片段(reads)重新组装成完整的…

模型容器与AlexNet构建

一、模型容器——Containers nn.Sequential 是 nn.module的容器,用于按顺序包装一组网络层 Sequential 容器 nn.Sequential 是 nn.module的容器,用于按顺序包装一组网络层 • 顺序性:各网络层之间严格按照顺序构建 • 自带forward()&#xf…

x-cmd pkg | grex - 用于生成正则表达的命令行工具

目录 简介首次用户生成的正则表达式与 perl 和 rust 兼容支持 Unicode 符号友好的用户体验进一步阅读 简介 grex 是一个旨在简化创作正则表达式的复杂且繁琐任务的库和命令行程序。这个项目最初是 Devon Govett 编写的 JavaScript 工具 regexgen 的 Rust 移植。但 regexgen 在…

AArch64 Exception Model学习

提示 该博客主要为个人学习,通过阅读官网手册整理而来(个人觉得阅读官网的英文文档非常有助于理解各个IP特性)。若有不对之处请参考参考文档,以官网文档为准。 1 Privilege and Exception Levels 1.1 为什么要划分权限&#xf…

MySQL基础笔记(3)DML数据操作语句

顾名思义,全称是数据操作语言,用来对数据库中表的数据记录进行增删改操作~ 目录 一.添加数据 1.给指定字段添加数据 2.给全部字段添加数据 3.批量添加数据 二.修改数据 三.删除数据 一.添加数据 1.给指定字段添加数据 insert into 表名 (字段名…

java数据结构与算法刷题-----LeetCode343. 整数拆分(TODO)

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难,但它就是固定套路而已。其实动态规划只…

jenkins构建git项目timeout

问题点: Started by user unknown or anonymous Running as SYSTEM Building in workspace /var/jenkins_home/workspace/test-one using credential f28d956-8ee1-4f20-a32b-06879b487c70 Cloning the remote Git repository Cloning repository http://git.cc.co…

Flink CDC使用

Flink 环境准备 Flink 版本对应的CDC版本 两个jar包上传到flink bin目录下 flink-sql-connector-mysql-cdc mysql-connector-java 重启Flink集群

stm32的FMC数据访问与突发模式

数据访问 配置外部存储器的宽度为 16 位, FMC 将使用内部的 ADDR[25:1]地址来作为对外部存储器的寻址地址 FMC_A[24:0],这段描述是在解释在STM32的FMC(Flexible Memory Controller)中,如何配置外部存储器的宽度为16位…

资产信息管理系统-前后端开发

题目要求: 资产管理系统 利用H5规范,CSS样式与JS脚本独立于HTML页面,Javascript调用jQuery库,CRUD后端使用FastAPI封装,前端页面在Nginx中运行,调用API模块, 实现CURD的课设总结 基本设计&am…

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

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

7 集中式日志和分布式跟踪

文章目录 日志聚合模式日志集中化的简单解决方案使用日志并输出分布式跟踪Spring Cloud Sleuth实现分布式跟踪 小结 前面的文章: 1、 1 一个测试驱动的Spring Boot应用程序开发 2、 2 使用React构造前端应用 3、 3 试驱动的Spring Boot应用程序开发数据层示例 4、…

中国京津冀国际光伏展

中国京津冀国际光伏展是一个专门展示光伏技术和产品的展览会。该展览会旨在促进光伏产业的发展和推广,推动太阳能光伏的应用和利用。 这个展览会通常会邀请国内外的光伏企业和专家参加,展示最新的光伏技术和产品,包括太阳能电池板、光伏组件、…

RequestMapping注解的使用和常见的GET和POST请求方式

RequestMapping注解的使用和常见的GET和POST请求方式 1、使用说明 作用:用于建立请求URL和处理请求方法之间的对应关系。 出现位置: 类上: 请求 URL的第一级访问目录。此处不写的话,就相当于应用的根目录。写的话需要以/开头。它…

计算机科学速成课【学习笔记】(4)——二进制

本集课程B站链接: 4. 二进制-Representing Numbers and Letters with Binary_BiliBili_哔哩哔哩_bilibili4. 二进制-Representing Numbers and Letters with Binary_BiliBili是【计算机科学速成课】[40集全/精校] - Crash Course Computer Science的第4集视频&…

Vue生命周期图解

生命周期四个阶段: ① 创建 ② 挂载 ③ 更新 ④ 销毁 图解: 包含8个钩子函数