设备树绑定
一个设备本身只是描述硬件故事的一半,因为它是一种相对非结构化的格式。设计人员的绑定提供了另一半。
设备树绑定声明对节点内容的要求,并提供有关有效节点内容的语义信息。Zephyr设备树绑定是自定义格式的YAML文件(Zephyr不使用Linux内核所使用的dt模式工具)。
本页面介绍绑定,描述它们做什么,记录它们的位置,并解释它们的数据格式。
注意:
有关内置到Zephyr的绑定的参考信息,请参阅绑定索引。
介绍
设备树节点使用它们的兼容属性来匹配绑定。
在配置阶段,构建系统会尝试将设备树中的每个节点与绑定文件进行匹配。当此操作成功时,构建系统在验证节点的内容和为节点生成宏时都会使用绑定文件中的信息。
一个简单的例子
下面是一个设备树节点的示例:
/* Node in a DTS file */
bar-device {
compatible = "foo-company,bar-device";
num-foos = <3>;
};
下面是一个与节点相匹配的最小绑定文件:
# A YAML binding matching the node
compatible: "foo-company,bar-device"
properties:
num-foos:
type: int
required: true
构建系统将bar-device
节点与YAML绑定匹配&#