1.关于igkboard.dtb设备树文件。

我们在~/imx6ull/bsp/kernel/linux-imx/arch/arm/boot/dts/igkboard.dts文件的根节点下添加key_irq节点:

设备树小知识_linux


然后返回~/imx6ull/bsp/kernel/linux-imx,执行make dtbs编译生成igkboard.dtb文件,将他拷贝更新到imx开发板~/run/media/mmcblk1p1路径下:

设备树小知识_设备树_02

然后sync,sudo reboot重启开发板之后,就可以在~/proc/device-tree路径下看到添加的key_irq节点。

设备树小知识_设备树_03

2.在虚拟机中更新igkboard.dtb设备树和overlay下添加设备节点后,复制到开发板只需要将overlay下的XXX.dtbo复制到开发板上,sync重启就行,不需要复制更新igkboard.dtb设备树

设备树小知识_c语言_04

3.配置步骤

1.现在igkboard.dtb设备树下添加设备和设备节点
~/imx6ull/bsp/kernel/linux-imx/arch/arm/boot/dts/igkboard.dtb

设备树小知识_linux_05


设备树小知识_开发板_06


2.然后在~/imx6ull/bsp/kernel/linux-imx/arch/arm/boot/dts/overlays下vim 一个xxx.dts文件,保存退出。

设备树小知识_c语言_07

3.在overlays文件夹下的Makefile添加

dtb-y += i2c_sht20.dtbo

4.返回Linux源码根本目录下 ~/imx6ull/bsp/kernel/linux-imx,执行make dtbs会编译igkboard.dtb和overlay下的i2c_sht20.dts生成i2c_sht20.dtbo

5.把i2c_sht20.dtbo拷贝到开发板,并添加设备节点

设备树小知识_设备树_08