瑞芯微Rockchip开发者社区
直播中

万物死

8年用户 1317经验值
擅长:MEMS/传感技术
私信 关注
[资料]

Linux内核的设备树DTS使用方法详解

1、设备树的简介
Linux 内核3.X之后,arch/arm/plat-xxx和arch/arm/mach-xxx中,描述板级细节的代码(比如platform_device、i2c_board_info等)被大量取消,取而代之的是设备树,其目录位于arch/arm/boot/dts或者是arch/arm64/boot/dts;
设备树的组成
设备树由1个dts + 多个dtsi组成,他们经过编译而成的dtb文件就是真正的设备树;
dts:一般情况下,一个dts代表公司的具体某一个产品,适用于同一套源码内适配不同的公司产品,而每次编译的时候只编译与该dts有关的信息。
dtsi: dtsi则是应用于在一套源码中包含有多个dts(产品)的情况下,把这些共性的信息存放在dtsi,dts可以去inclue这些dtsi;
dtb: dtb(Device Tree Blob),dts经过dtc编译之后会得到dtb文件,dtb通过Bootloader引导程序加载到内核。所以Bootloader需要支持设备树才行;Kernel也需要加入设备树的支持;
设备树的使用方法
接下来,我们将源码的kernel/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp.dts为例,进行学习;
第一部分:dts文件的版本以及include插入头文件
[RK3399][Android7.1] 学习笔记 --- Linux内核的设备树DTS详解.pdf (121.64 KB)
(下载次数: 26, 2022-5-6 16:10 上传)

原作者:王路飞i


更多回帖

发帖
×
20
完善资料,
赚取积分