[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)
活动地址:CSDN21天学习挑战赛
学习计划
1,学习时间
周一至周五晚上 7 点—晚上9点
周六上午 9 点-上午 11 点
周日下午 3 点-下午 6 点
2,学习产出:
技术笔记 2 遍
CSDN技术博客 3 篇
**
学习日记
**
1,学习知识点
设备树的概述(硬件、目标、效果、文件类型)
2,学习遇到的问题
对文件类型不是很理解
3,学习的收获
提示:设备树 文件是dts 编译生成dtb 内核将dtb 会转化成platform_device
4,实操
提示:可以添加相关知识点的练习实操案例
…
学习笔记
一、为什么要引入设备树
在老的Linux内核中,硬件信息存在在内核之中,造成内核的体积过于庞大,设备树的引进,可以将内核和硬件资源描述相对独立,不再需要内核中进行大量的代码,许多硬件的细节,可以通过设备树传递给Linux
设备树可以描述的信息包括CPU的数量和类别、内存基地址和大小、总线和桥、外设连接、中断控制器和中断使用情况、GPI0控制器和GPI0使用情况、Clock控制器和Clock使用情况。
另外,设备树对于可热插拔的热备不进行具体描述,它只描述用于控制该热插拔设备的控制器。
二、设备树的概述
2.1 原始硬件信息
由上图可知,CPU和外层有了一定独立性,CPU通过控制器而对硬件进行传输
这图表示,CPU对数据的综合管理
2.2 设备树的目标
“开放固件设备树”,简称设备树(DT),是一种用于描述硬件的数据结构和语言。更具体地说,它是操作系统可读的硬件描述这样操作系统就不需要硬编码机器的细节
提供一种语言来解耦硬件配置信息
解耦:降低耦合度,提高独立性
2.3 设备树的效果
设备在脚本里,驱动在C里
2.4 文件类型
设备树的主要优势:
对于同一SOC的不同主板,只需更换设备树文件. dtb或者. dtbo文件即可实现不同主板的无差异支持,而无需更换内核文件,实现了内核和不同板级硬件数据的拆分。
设备树包含DTC (device tree compiler) ,DTS (device tree source) 和DTB (device tree blob)。
dtc、dts/dtsi和dtb的关 系:
dts和dtsi源文件会经过dtc编译器编译成dtb二进制文件,dtb文件最后会被放到系统中被内核解析。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理