Android下Device Tree简介

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

     
 
 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值