linux开发之设备树一、设备树基本概念

设备树的基本概念

1.什么是设备树?为什么叫设备树呢?
设备树是描述硬件的文本文件,因为语法结构像树一样。所以叫设备树。
2.基本名词解释
<1>DT:Device Tree //设备树
<2>FDT:Flattened Device Tree //开放设备树,起源于0penFirmware(0F)
<3>dts:device tree source的缩写 //设备树源码
<4>dtsi:device tree source include的缩写 //通用的设备树源码
<5>dtb:device tree blob的缩写//编译设备树源码得到的文件
<6>dtc:device tree compiler的缩写 //设备树编译器
比如有两个开发板,都是用相同的芯片RK3568,虽然这两个板子不一样,但是芯片相同,所以会有很多相同的地方,这些相同的地方就由dtsi去描述,也就是dtsi描述芯片的东西,dts描述外设。通用的部分只需要包含dtsi就可以了
在这里插入图片描述
DTS和DTSI经过DTC编译后,变为DTB文件,DTB文件就是板子上用的文件
查看内核源码中的dts

在这里插入图片描述在这里插入图片描述
那么在这个文件夹下找到需要的开发板的dtsi和dts
如果没有自己开发板需要的设备树文件怎么办,只需要在这个文件夹下,加入就可以了,比如复制一个相似的板子的设备树文件,然后修改一下名字,再然后修改设备树文件

64位arm的设备树文件,这里就是具体的相关平台了,进去就可以看到芯片相关的了

在这里插入图片描述
在这里插入图片描述

如何编译设备树

命令格式
编译设备树:dtc -I dts -0 dtb -o xxx.dtb xxx.dts
反编译设备树:dtc -I dtb -0 dts -o xxx.dts xxx.dtb

dtc编译器在内核源码中
编译内核的时候就会编译这里,最后会编译出来dtc可执行文件
在这里插入图片描述在这里插入图片描述在这里插入图片描述
这个dtc查看文件可以看到是x86-64的,也就是说他是在x86架构上使用的,也就是在虚拟机上使用的

如果编译内核时没有编译出DTC工具

需要修改内核的.config文件,将CONFIG_DTC设置为y
在这里插入图片描述在这里插入图片描述

修改了config文件的选项为什么就可以进行编译DTC了呢?在这里插入图片描述在这里插入图片描述

创建设备树文件DTS

在这里插入图片描述
编辑一个最简单的DTS文件
在这里插入图片描述

如何使用dtc编译器编译dts

1.首先找到DTC编译工具
在这里插入图片描述
2.编译dts文件
在这里插入图片描述
3.得到dtb文件
在这里插入图片描述

4.反编译
在这里插入图片描述
第二种编译,编译内核中的设备树
在Linux的kernel目录下执行make dtbs

在这里插入图片描述
可以看到编译dts文件的路径

在这里插入图片描述

在VS code中安装Device Tree插件

查找Device Tree插件并安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值