zoukankan      html  css  js  c++  java
  • 【linux】驱动-9-设备树插件


    前言

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

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

    9. Linux设备树插件

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

    9.1 格式

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

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

    分析

    • /dts-v1/:指定 dts 版本。
    • /plugin/:表示设备树插件中可以引用设备树中的节点。因为这些节点在设备树插件中是未定义的,所以,要加上本行code。
    • target-path = "/";:指定设备树插件加载的位置。(默认在根节点下
    • 我们要插入的设备及节点或者要引用(追加)的设备树节点放在 __overlay__ {…}; 内。
    • 其它都是固定的。

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

    9.2.1 单独使用dtc工具编译

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

    • 地址:git clone https://gitee.com/Embedfire/ebf-linux-dtoverlays.git
    • 要编译的设备树插件源文件放在 ebf-linux-dtoverlays/overlays/ebf 目录下, 然后回到编译工具的根目录 ebf-linux-dtoverlays/ 执行 make 即可。
    • 生成的.dtbo位于 ~/ebf-linux-dtoverlays/output 目录下。
    • 注意:如果你在执行 make 后出现报错,可以尝试先卸载 device-tree-compiler(卸载命令为:sudo apt-get autoremove device-tree-compiler), 重新安装,然后在 ebf-linux-dtoverlays/basic/fixdep 文件的权限, 修改权限命令为:chmod 777 scripts/basic/fixdep

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

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

    • 意为编译 dts 为 dtbo

    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

  • 相关阅读:
    poj 2942 Knights of the Round Table 双连通分量
    zoj 2588 Burning Bridges 桥
    desin pattern
    android
    ubuntu
    centos
    android布局
    gradle
    好站
    tomcat datasource
  • 原文地址:https://www.cnblogs.com/lizhuming/p/14627195.html
Copyright © 2011-2022 走看看