dts overlay
参考资料:
一个常规的设备树主要由源文件 .dts 和头文件 .dtsi 以及一些 .h 文件共同编译出可以由Linux系统加载的 .dtb二进制文件,内核就会在初始化后根据 uboot 加载这个 .dtb 的二进制文件,然后根据设备树的节点把相关的硬件设备对应的驱动注册好。这个我们可以称之为 live tree。
传统的设备树一般用于硬件资源已经确定的情况,但如果要添加或者删除硬件资源,需要找出已经在设备中使用的设备树源文件然后在源文件上修改,内核为了解决这个问题,就提出了Device Tree Overlays,中文上可以理解为“设备树插件”。其核心是通过传统的设备树语法,使得各个硬件模块的信息可以独立地用新的设备树语法来描述。在系统实际使用时,根据实际应用情景,需要用到哪些硬件模块就把对应的设备树插件加入到主设备树即可。
dts overlay的安装:
- 下载源代码
可以从 Device Tree Compiler 的官方源代码库中获取最新版本的源代码。使用以下命令在终端中进行下载:
sudo apt update sudo apt install device-tree-compiler git clone https://git.kernel.org/pub/scm/utils/dtc/dtc.git
- 编译源代码
进入下载的源代码目录,并执行以下命令编译源代码:
cd dtc
make
- 安装编译后的命令
编译完成后,你会得到一个名为 dtoverlay 的可执行文件,你可以将其复制到系统的 PATH 目录下,以便在任何位置都能够访问到它:
sudo cp dtc/dtoverlay /usr/local/bin
- 验证安装
完成上述步骤后,可以在终端中输入 dtoverlay --help 来验证是否成功安装了dtoverlay命令。
dts overlay debug:
当开发板和你的设备树设置不匹配的时候,dts overlay是一个考虑点