构建和配置系统——设备树——设备树

设备树

提示

这是对设备树和Zephyr如何使用它的概念概述。有关一步一步的指南和示例,请参阅设备树的主题。

设备树是一种描述硬件的分层数据结构。设计树规范定义了它的源表示和二进制表示。Zephyr使用设备树来描述其支持的电路板上可用的硬件,以及该硬件的初始配置。

设备输入文件有两种类型:设备源和设备绑定。资料来源包含了设计装置本身。绑定描述了其内容,包括数据类型。构建系统使用设备树源和绑定来生成生成的C头。生成的头的内容由devicetree.h API抽象,您可以使用该API从设备中获取信息。

以下是这个过程的一个简化的视图:

在这里插入图片描述

图20设备树生成流程

所有Zephyr和应用程序源代码文件都可以包括和使用devicetree.h。这包括设备驱动程序、应用程序、测试、内核等。

该API本身是基于C宏的。宏名称都以DT_开头。一般来说,如果您在Zephyr源文件中看到一个以DT_开头的宏,那么它可能是一个 devicetree.h 宏。生成的C头也包含以DT_开头的宏;您可能会在编译器错误消息中看到这些宏。您总是可以从未生成的宏判断生成的宏有一些低写字母,而devecree.h宏名称所有字母都大写。

在设备树中定义的一些信息可以通过从Kconfig生成的CONFIG_宏获得。这样做通常是为了向后兼容,因为西风使用Kconfig的时间比设备更长,并且仍在将一些信息从Kconfig转换为设备的过程中。它还允许Kconfig覆盖从设备树中获取的默认值。设计对象的信息通过Kconfig函数从Kconfig中引用。参见Kconfig与Kconfig的其他比较。

</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值