【Zephyr开发系列-12】设备树使用补充
文章目录1 phandle1.1 单个节点1.2 多个节点1.3 多个节点且带元数据1.4 specifier空间1.4.1 特殊情况1.4.2 手动指定空间1.4.3 cell命名2 从设备树节点获取struct device3 编写设备驱动3.1 用实例号创建设备(推荐)3.2 用节点标签创建设备4 核心要点1 phandle在设备树中,phandle这个概念和C语言里的指针非常相似。在C语言中,可以用指针引用某个结构体;在设备树中,也可以用phandle来引用某个节点。1.1 单个节点当node-a需要引用node-b时,就可以用一个phandle来表达。例如node-a是某个会产生中断的硬件,node-b是接收中断的中断控制器。这时可以写:node_b: node-b { interrupt-controller; }; node-a { interrupt-parent = node_b; };interrupt-parent是设备树规范中定义的标准属性,它表达了"node-a的中断由node_b处理"这层关系。1.2 多个节点如果需要一次性引用多个节点,就可以用phandle数组。例如pinctrl-0通常包含多个phandle,每一个都指向一个描述引脚配置的节点。下面是包含6个phandle的例子:pinctrl-