当前位置:   article > 正文

Android下Device Tree简介_device tree、dtb、fdt

device tree、dtb、fdt

Device Tree简介
一、概念
       1、Device Tree 是一种描述硬件的数据结构,可以把嵌入式系统资源抽象成一颗树形结构,可以直观查看系统资源分布;内核可以识别这棵树,并根据它展开出Linux内核的platfrom_device等。
      2、Device Tree 改变了原来用hardcode方式将HW配置信息嵌入到内核代码的方法,消除了arch/arm下大量的冗余编码。使得各个厂商可以更专注于driver开发,开发流程遵从mainline kernel的规范。
二、术语介绍
       1、FDT: 嵌入式PowerPC中,为了适应内核发展&&嵌入式PowerPC平台的千变万化,推出了Standard for Embedded Power Architecture Platfrom Requirements(ePAPR)标准,吸收了Open Firmware的优点,在U-boot引入了扁平化设备树FDT接口,使用一个单独的FDT blob对象将系统硬件信息传递给内核。
       2、DTS: (Device Tree Source File)设备树源码文件,包含用户配置信息。
             对于32bit Arm架构,dts文件存放在 arch/arm/boot/dts路径下。
             对于64bit Arm架构,dts文件存放在 arch/arm64/boot/dts路径下。
             DTB: (Device Tree Blob File)设备树二进制文件,它是DTS被DTC编译后二进制格式的Device Tree描述,可由Linux内核解

                      析,并为设备驱动提供硬件配置信息。
三、如何配置
       1、一个完整的配置可以包括两个部分:
             a. soc级配置文件:定义了SOC级配置,如设备时钟、中断等资源;
             b. board级配置文件:定义了板级配置,包含一些板级差异信息。
             c.sys_config.fex配置文件(可以存在,也可以不存在),优先级比board级配置、soc级配置都高。
       2、配置文件说明
             a. dtb文件,依赖于xxxwlpl-${board}.dts,而xxxwlpl-${board}.dtsi又包含xxxwlpl.dtsi,当board级配置文件跟soc级配置文件出现相同节点属性时,Board级配置文件的属性值会去覆盖soc级的相同属性值。
             b.xxxwlpl-soc.dts文件跟xxxwlpl-tl.dts与xxxwlpl-perfl.dts一样,都属于board配置文件。该配置文件定义为一种通用的board配置文件,主要为了防止在移植新的方案时,没有在内核arch/arm/boot/dts目录下定义方案的board级配置文件。如果出现这样的情况,内核编译的时候,就会采取xxxwlpl-soc.dts作为该方案的board级配置文件。
       3、配置sys_config.fex

     
 
       4、配置devicetree

     
 
 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号