1、什么是设备树?
设备树的文件(DTS)用来以树状接口描述设备信息。例如: cpu数量 内存 IIC接口 SPI上有哪些设备等
2、DTS、DTB、DTC是什么?
DTS 是设备树源码 .dts .dtsi相当于是dts的头文件也是设备树源码
DTB 是将设备树编译后得到的二进制文件
DTC 编译设备树的工具 在 源码/scripts/dts目录下 Makefile
DTC工具依赖于 dtc.c。。。等源码,最后编译链接出来dtc 主机文件

3、如何编译设备树?
make all 编译所有源码
make dtbs 仅仅编译设备树
4、编译的时候如何匹配到只编译我们需要的dts
通过我们make menuconfig | make xxx_defconfig 配置内核后生成的.config文件
xxx_defconfig : 是arch/arm/configs 中的配置文件
.config中只有CONFIG_ARCH_ZYNQMP被选中

再看arch/arm64/boot/dts中的makefile 会遍历所有dts目录 下的所有文件
再看xilinx目录下的makefile 编译的时候都会有对应平台的宏指定是否编译,所以设备树编译那个在配置内核中就指定了平台

在make menuconfig->Platform selection->平台选项中选择对应的平台 同时指定编译的设备树目录

如下就是通过DTC编译DTS生成的DTB:

设备树(DTS)是用来描述设备信息的树状结构文件,包括CPU、内存、IIC接口和SPI设备等。DTS源码编译后生成DTB二进制文件。DTC是设备树编译工具,位于源码的scripts/dts目录下。编译设备树可通过make all或makedtbs命令,具体编译哪个设备树由内核配置文件.config决定,该配置在makemenuconfig或makexxx_defconfig后生成。内核配置中选择特定平台,指定编译的设备树目录,确保只编译所需DTS。
322

被折叠的 条评论
为什么被折叠?



