android dtb文件位置_msm8909+android5.1 device tree(dt) 设备树组成和编译

本文详细介绍了msm8909在android5.1下的设备树(device tree)组成,包括DTS、DTC和DTB的关系,以及设备树的编译过程。内容涵盖了.dts文件的结构、dtsi文件的复用机制、DTC工具的作用,以及如何通过dtbtool生成dt.img。此外,还探讨了设备树在bootloader中的应用和dtb文件在内存中的布局。
摘要由CSDN通过智能技术生成

msm8909+android5.1 device tree(dt) 设备树组成和编译

源代码:/kernel/scripts/dtc

工具:device\qcom\common\dtbtool

1.     Device tree设备树概述

设备树包含DTC(device treecompiler),DTS(device treesource和DTB(device treeblob)。其对应关系如图1-1所示:

0818b9ca8b590ca3270a3433284dd417.png

图1

DTS、DTC、DTB之间的关系

1.1 DTS和DTSI

.dts文件是一种ASCII文本对Device Tree的描述,放置在内核的/arch/arm/boot/dts目录。一般而言,一个.dts文件对应一个ARM的machine。

由于一个SOC可能有多个不同的电路板,而每个电路板拥有一个 .dts。这些dts势必会存在许多共同部分,为了减少代码的冗余,设备树将这些共同部分提炼保存在.dtsi文件中,供不同的dts共同使用。.dtsi的使用方法,类似于C语言的头文件,在dts文件中需要进行include.dtsi文件。当然,dtsi本身也支持include 另一个dtsi文件。

1.2 DTC

DTC为编译工具,它可以将.dts文件编译成.dtb文件。DTC的源码位于内核的scripts/dtc目录,内核选中CONFIG_OF,编译内核的时候,主机可执行程序DTC就会被编译出来。即scripts/dtc/Makefile中

hostprogs-y := dtc

always := $(hostprogs-y)

This will tell kbuild to build lxdialogeven if not referenced in any rule.

在内核的arch/arm/boot/dts/Makefile中,若选中某种SOC,则与其对应相关的所有dtb文件都将编译出来。在linux下,make dtbs可单独编译dtb。以下截取了qcom平台的一部分。

ifeq ($(CONFIG_OF),y)

#used for cleaning - not building

subdir- := qcom

endif

qcom\Makefile

ifeq ($(CONFIG_OF),y)

dtb-$(CONFIG_ARCH_MSM8909) +=msm8909-sim.dtb \

msm8909-rumi.dtb\

msm8909-qrd-skua.dtb\

msm8909-qrd-skuc.dtb\

msm8909-qrd-skue.dtb\

msm8909-cdp.dtb\

msm8909-mtp.dtb\

msm8909-mtp-smb1360.dtb\

msm8909-pm8916-mtp-smb1360.dtb\

msm8909-512mb-mtp-smb1360.dtb\

msm8909-1gb-qrd-skua.dtb\

msm8909-1gb-qrd-skuc.dtb\

msm8909-1gb-qrd-skue.dtb\

msm8909-1gb-cdp.dtb\

msm8909-1gb-mtp.dtb\

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值