当前位置:网站首页>设备树基本原理与操作方法
设备树基本原理与操作方法
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]
}
边栏推荐
- OneNote 教程,如何在 OneNote 中设置页面格式?
- 实现博客营销有哪些技巧
- 【微信小程序】NFC 标签打开小程序
- vulnhub pyexp: 1
- typescript学习笔记
- 金鱼哥RHCA回忆录:CL210管理计算资源--管理计算节点+章节实验
- 【汇编语言02】第2章 寄存器——理论知识
- POJ 2377 Bad Cowtractors(最大生成树)
- Alibaba senior experts create a learning architecture from scratch, including Alibaba's internal technology stack PPT, PFD actual combat
- C#爬虫之通过Selenium获取浏览器请求响应结果
猜你喜欢
MYSQL误删数据恢复
Online monitoring of UPS power supply and operating environment in the computer room, the solution is here
Alibaba senior experts create a learning architecture from scratch, including Alibaba's internal technology stack PPT, PFD actual combat
MySQL如何 drop 大表
使用安全浏览器将网页保存为pdf的方法步骤
MD5是对称加密还是非对称加密,有什么优缺点
微信小程序分享功能
Difference差分数组
丙二醇二乙酸酯(Propylene Glycol Diacetate)
智能合约安全——delegatecall (2)
随机推荐
【C语言学习笔记(六)】分支与跳转(if、else、continue、break、switch)
安装porterLB
Jenkins CI平台(二)
go语言实现导出string字符串到文件中
Mock模拟数据,并发起get,post请求(保姆级教程,一定能成功)
MySQL——增删改查进阶
Arduino实验三:继电器实验
系统太多,多账号互通如何实现?
软件测试回归案例,什么是回归测试?
使用range-based for循环的注意事项
online 方式创建索引触发trigger怎么办?
梅科尔工作室-14天华为培训六
tree命令:以树的形式列出目录中的文件
【C语言学习笔记(七)】C语言重定向输入与输出
阿里二面:多线程间的通信方式有几种?举例说明
2022年7月国产数据库大事记
MySQL读写分离的三种实现方案
With the help of Kubernetes kubekey speed installation
异常与智能指针
程序员如何分分钟搞垮一个项目?