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

设备树是一种描述硬件的分层数据结构,Zephyr使用它来配置和描述系统硬件。本文介绍了设备树的语法、结构、重要属性,以及如何写入属性值。设备树源文件(.dts)与绑定(.yaml)共同作用,生成C头文件供驱动程序和应用程序使用。此外,别名和选择节点提供了一种引用和配置系统值的方法。设备树输入文件包括源文件、头文件、覆盖文件和绑定,而输出文件主要是生成的C头文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设备树

提示

这是对设备树和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的时间比设备更长,并且仍在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值