70.设备树插件
·
前面使用设备树的形式让硬件参数从内核中分离,实现解耦,修改硬件参数,只需编译设备树,已经比较高效了,但在调试阶段,比如内核正在运行,可以使用插件实现动态加载
编写设备树插件ovelay.dts,以下是两种常用编写方式,分别按照路径和别名的形式找到节点myled
添加子节点overlay_node
/dts-v1/;
/plugin/;
&{/quan/myled}{
overlay_node{
status = "okay";
};
};
&myled{
overlay_node{
status = "okay";
};
};
编译并反编译之后得到新的两种写法
//编译
/home/linux/sambashare/linux-kernel/linux-6.17.5/scripts/dtc/dtc -I dts -O dtb -o overlay.dtbo overlay.dts
//反编译
/home/linux/sambashare/linux-kernel/linux-6.17.5/scripts/dtc/dtc -I dtb -O dts -o overlay_.dts overlay.dtbo
verlay_.dts
/dts-v1/;
/ {
fragment@0 {
target-path = "/quan/myled";
__overlay__ {
overlay_node {
status = "okay";
};
};
};
fragment@1 {
target = <0xffffffff>;
__overlay__ {
overlay_node {
status = "okay";
};
};
};
__fixups__ {
myled = "/fragment@1:target:0";
};
};
修改overlay.dts,至此,我们得到了四种编写方法
/dts-v1/;
/plugin/;
&{/quan/myled}{
overlay_node{
status = "okay";
};
};
&myled{
overlay_node{
status = "okay";
};
};
/ {
fragment@0 {
target-path = "/quan/myled";
__overlay__ {
overlay_node {
status = "okay";
};
};
};
fragment@1 {
target = <&myled>;
__overlay__ {
overlay_node {
status = "okay";
};
};
};
};
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)