[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 原始硬件信息

[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)_第1张图片
由上图可知,CPU和外层有了一定独立性,CPU通过控制器而对硬件进行传输
[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)_第2张图片
这图表示,CPU对数据的综合管理

2.2 设备树的目标

“开放固件设备树”,简称设备树(DT),是一种用于描述硬件的数据结构和语言。更具体地说,它是操作系统可读的硬件描述这样操作系统就不需要硬编码机器的细节

提供一种语言来解耦硬件配置信息

解耦:降低耦合度,提高独立性

2.3 设备树的效果

设备在脚本里,驱动在C里

[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)_第3张图片

2.4 文件类型

设备树的主要优势:
对于同一SOC的不同主板,只需更换设备树文件. dtb或者. dtbo文件即可实现不同主板的无差异支持,而无需更换内核文件,实现了内核和不同板级硬件数据的拆分。
设备树包含DTC (device tree compiler) ,DTS (device tree source) 和DTB (device tree blob)。

[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)_第4张图片
dtc、dts/dtsi和dtb的关 系:
dts和dtsi源文件会经过dtc编译器编译成dtb二进制文件,dtb文件最后会被放到系统中被内核解析。

你可能感兴趣的:(内核笔记,学习)