当前位置:网站首页>设备树基本原理与操作方法
设备树基本原理与操作方法
2022-08-03 18:57:00 【ST小智】
活动地址:CSDN21天学习挑战赛
学习计划
**
1,学习目标
一周掌握设备树
2,学习内容
例如:
Linux设备树控制方法
掌握循环语句
3,学习时间
提示:可以添加计划学习的时间
例如: 周一至周五晚上 7 点—晚上9点
周六上午 9 点-上午 11 点
周日下午 3 点-下午 6 点
4,学习产出
提示:统计学习计划的总量
例如:
技术笔记 2 遍
CSDN技术博客 3 篇
学习的vlog 视频 1 个
**
学习日记
**
第一:为什么要使用设备树
在老的Linux内核的arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的描述不同板级硬件信息的代码,而这些板级信息对于内核来说不过是一些垃圾代码,因为不同的板级他们的硬件信息都不相同,这些都是硬件特有的信息,对内核而言没有任何的意义,但是往往这部分代码特别的多,造成内核的冗余。设备树的引入就是为了解决这个问题。
设备树是一种描述硬件的数据结构,在linux2.6版本上才开始使引入,采用了设备树之后,许多硬件的细节可以直接通过它传递给Linux,而不再需要在内核中进行大量的冗余编码,它通过bootloader将硬件资源传给内核,使得内核和硬件资源描述相对独立。
设备树可以描述的信息包括CPU的数量和类别、内存基地址和大小、总线和桥、外设连接、中断控制器和中断使用情况、GPIO控制器和GPIO使用情况、Clock控制器和Clock使用情况。
另外,设备树对于可热插拔的热备不进行具体描述,它只描述用于控制该热插拔设备的控制器。
第二:Linux设备树目标
https://www.kernel.org/doc/Documentation/devicetree/usage-model.txt
The “Open Firmware Device Tree”, or simply Device Tree (DT), is a data
structure and language for describing hardware. More specifically, it is a
description of hardware that is readable by an operating system
so that the operating system doesn’t need to hard code details of the
machine
提供一种语言来解耦硬件配置信息
第三:Linux设备树概述:dts、dtsi
DTS(device tree source)
DTS: .dts文件是设备树的源文件。
文件.dts是一种ASCII文本格式的设备树描述 ,一个.dts文件对应一个ARM的设备, 一般放置在内核的arch/arm/boot/dts/目录中 。
由于一个SoC可能对应多个设备(一个SoC可以对应多个产品和电路板),这些.dts文件势必须包含许多共同的部分,Linux内核为了简化,把SoC公用的部分或者多个设备共同的部分一般提炼为.dtsi,类似于C语言的头文件。其他的设备对应的.dts就包括这个.dtsi 。
目录:arch/arm64/boot/dts/mediatek/auto2735evb.dts

第四:Linux设备树语法
设备树用树状结构描述设备信息,它有以下几种特性:
DeviceTree的结构非常简单,由两种元素组成:
Node(节点)
Property(属性)
[label:] node-name[@unit-address] {
[properties definitions]
[child nodes]
}

边栏推荐
- Chrome浏览器开发新截图工具,安全浏览器截图方法
- Bytes to beat three sides take offer: network + GC + + IO + redis + JVM red-black tree + data structure, to help you quickly into the giant!!!!!
- MySQL如何一劳永逸的永久支持输入中文
- WEB 渗透之CSRF
- 6000 字+,帮你搞懂互联网架构演变历程!
- online 方式创建索引触发trigger怎么办?
- 【Azure 事件中心】使用Azure AD认证方式创建Event Hub Consume Client + 自定义Event Position
- idea——同一项目开启多个实例(不同端口)
- 谷歌浏览器安装插件教程步骤,开发用这2个插件工作效率倍增
- 要想成为黑客,离不开这十大基础知识
猜你喜欢
随机推荐
MYSQL误删数据恢复
剑指Offer 56.数组中数字出现的次数
首届MogDB征文活动开启啦!
有人知道flink sql 使用tableEnv.executeSql执行后,怎么获取到任务运行的
warnings.warn(“Title is more than 31 characters. Some applications may not be able to read the file
要想成为黑客,离不开这十大基础知识
MySQL【变量、流程控制与游标】
87. (Home of cesium) cesium heat map (topography)
2022/08/02------Ugly number
6000 字+,帮你搞懂互联网架构演变历程!
VsCode preview Geojson data
【汇编语言02】第2章 寄存器——理论知识
ImportError: /lib/libgdal.so.26: undefined symbol: sqlite3_column_table_name
Shell:循环语句
机器学习的方法总结
实时渲染器不止lumion,Chaos Vantage你值得一试
InnoDB 中不同SQL语句设置的锁
Alibaba senior experts create a learning architecture from scratch, including Alibaba's internal technology stack PPT, PFD actual combat
【HCIP】MPLS实验
SQL代码需要供其他人复用,为什么传统的复制代码不可靠?









