petazzoni Device Tree示例教程
多文件组织的设备树配置挺适合做系统级硬件抽象。petazzoni-device-tree-dummies
这个资源讲得就蛮清楚,分得也细。像.dtsi
是平台通用的定义,.dts
才是具体板子的配置,两者通过结构覆盖组合在一起,逻辑清晰,改起来也方便。
你要是做嵌入式开发,或者跟硬件打交道比较多,这东西还挺实用的。像调 ARM 板子、写 bootloader 前的配置啥的,经常要改这些设备树文件,分文件结构能省不少事。尤其是你在搞多个差不多的板子时,只改.dts
就够了,效率高多了。
文档里还提到了设备树的“包含机制”,类似代码里的 import,用 #include
加上路径就行。覆盖方式是树状结构叠加,这点要注意下,改属性时会被上层覆盖。实战里你可以先看下 .dtsi
里有没有定义,再决定是直接改还是在 .dts
里重写。
设备树这种写法跟你平常写前端代码不太一样,但逻辑上其实也蛮像组件复用。你要是之前写过 React
、Vue
这类组件化东西,理解起来会更快。
如果你想了解 DTS 语法结构,可以顺手看看这份 DTS 文档,入门还挺清楚的。平时遇到多板共用定义的需求,不妨参考下这个结构思路。
下载地址
用户评论