【linux】驱动-9-设备树插件

时间:2021-04-07 15:04:16   收藏:0   阅读:30


前言

建议:去原文链接观看,排版、观感便于学习。
链接:

参考:用到野火提供的工具脚本。

9. Linux设备树插件

设备树插件(Dynamic DeviceTree)与 Linux4.4 后引入。
设备树插件可以理解为设备树的补丁。可以动态加载到系统中,无需重新编译整个设备树。

9.1 格式

设备树插件是有相对固定的格式的,相当于多穿一件衣服而已。
格式如下

/dts-v1/;
/plugin/;

 / {
        fragment@0 {
            target-path = "/";
            __overlay__ {
                /*在此添加要插入的节点*/
            };
        };
 };

分析

9.2 设备树插件的编译和加载

9.2.1 单独使用dtc工具编译

设备树和设备树插件都是使用 DTC 编译工具编译。
设备树编译后得到的是 .dtb 文件;
而设备树插件编译后得到的是 .dtbo 文件。
使用野火提供的一键式编译工具:

9.2.2 内核dtc工具编译设备树插件

编译设备树插件和编译设备树类似,这里使用内核中的dtc工具编译编译设备树插件。
编译命令:内核构建目录/scripts/dtc/dtc -I dts -O dtb -o xxx.dtbo xxx.dts

9.2.3 加载设备树插件

先拷贝设备树插件文件到开发板上。

9.2.3.1 使用 echo 命令加载

先在 /sys/kernel/config/device-tree/overlays/下创建一个新目录,名字自定义。
然后将 dtbo 固件 echopath 属性文件中或将 dtbo 的内容 catdtbo 属性文件中。

echo xxx.dtbo >/sys/kernel/config/device-tree/overlays/xxx/path
# 或
cat xxx.dtbo >/sys/kernel/config/device-tree/overlays/xxx/dtbo

删除设备插件:rmdir /sys/kernel/config/device-tree/overlays/xxx

9.2.3.2 uboot 加载

不同的板子可能不支持。
修改环境变量文件即可,进入/boot目录下 修改 vim uEnv.txt

原文:https://www.cnblogs.com/lizhuming/p/14627195.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!