Linux内核编程12期:设备树overlay与ConfigFS文件系统

在嵌入式Linux下,设备树(device tree)用来描述硬件平台的各种资源,Linux内核在启动过程中,会解析设备树,获取各种硬件资源来初始化硬件。

设备树的overlay功能是指可以在系统运行期间动态修改设备树。

一般情况下,如上图所示,设备树经过DTC编译器编译为二进制的hello.dtb文件,加载到内存,随Linux内核一起启动后,一般就无法更改了。

如果我们想修改设备树,需要修改hello.dts文件文件,重新编译成二进制文件:hello.dtb,然后重新启动内核,重新解析。有了设备树的overlay功能,省去了设备树的重新编译和内核重启,我们可以直接编写一个设备树插件:overlay.dts,编译成overlay.dtbo后,直接给设备树“打补丁”,在运行期间就可以动态添加节点、修改节点...

设备树的overlay功能,在很多场合都会用得到,会让我们的开发更加方便:

  • 外界插拔设备,无法在设备树中预先描述:耳机
  • 树莓派 + FPGA开发板
  • 基于I2C的温度传感器
  • 管脚的重新配置:PIN multiplexing
  • 修改bootcmd、分区
  • ...

设备树的overlay功能,目前还没有加入到内核mainline(linux-5.10.x),但目前有些开发板和配套的BSP已经支持了,支持在系统运行期间动态修改设备树文件。如果你手头的开发板或内核平台还没有支持device tree overlay,可以学习本期课程,学习内核中设备树overlay的实现原理,如何给内核打补丁,使内核支持设备树的overlay功能。有了本期课程的学习基础,明白了设备树overlay的实现原理和运行机制,你就可以尝试在自己的开发板平台上实现这个功能了。

本期课程的主要内容如下:

  • 在开发板上如何实现设备树的overlay功能
  • Configfs文件系统的配置与挂载
  • Configfs编程接口
  • 如何编写设备树 overlay插件
  • 设备树 overlay的编译和运行
  • 设备树overlay运行机制分析

本期课程适合哪些人学习:

  • 嵌入式驱动工程师
  • 嵌入式BSP工程师
  • 嵌入式软件工程师
  • 想从事嵌入式开发的同学

本期课程一共14节,课程时长:02小时43分钟08秒。课程的详细目录如下:

  • 01 什么是设备树的overlay?
  • 02 设备树overlay实现原理分析
  • 03 ConfigFS 的编译与挂载
  • 04 ConfigFS 的核心数据结构
  • 05 通过ConfigFS加载二进制文件
  • 06 创建ConfigFS子目录
  • 07 创建ConfigFS多级子目录
  • 08 ConfigFS mkdir 过程分析
  • 09 实现设备树的overlay功能
  • 10 向设备树动态添加节点(上)
  • 11 向设备树动态添加节点(下)
  • 12 设备树overlay加载过程分析
  • 13 设备树overlay解析过程分析
  • 14 同时加载多个设备树overlay

全球首家讲解设备树overlay的视频教程。https://download.csdn.net/course/detail/37322icon-default.png?t=M4ADhttps://download.csdn.net/course/detail/37322

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在嵌入式Linux下,设备(device tree)用来描述硬件平台的各种资源,Linux内核在启动过程中,会解析设备,获取各种硬件资源来初始化硬件。设备overlay功能是指可以在系统运行期间动态修改设备。一般情况下,如上图所示,设备经过DTC编译器编译为二进制的hello.dtb文件,加载到内存,随Linux内核一起启动后,一般就无法更改了。如果我们想修改设备,需要修改hello.dts文件文件,重新编译成二进制文件:hello.dtb,然后重新启动内核,重新解析。有了设备overlay功能,省去了设备的重新编译和内核重启,我们可以直接编写一个设备插件:overlay.dts,编译成overlay.dtbo后,直接给设备“打补丁”,在运行期间就可以动态添加节点、修改节点...设备overlay功能,在很多场合都会用得到,会让我们的开发更加方便:外界插拔设备,无法在设备中预先描述:耳机莓派 + FPGA开发板基于I2C的温度传感器管脚的重新配置:PIN multiplexing修改bootcmd、分区...设备overlay功能,目前还没有加入到内核mainline(linux-5.10.x),但目前有些开发板和配套的BSP已经支持了,支持在系统运行期间动态修改设备文件。如果你手头的开发板或内核平台还没有支持device tree overlay,可以学习本期课程,学习内核设备overlay的实现原理,如何给内核打补丁,使内核支持设备overlay功能。有了本期课程的学习基础,明白了设备overlay的实现原理和运行机制,你就可以尝试在自己的开发板平台上实现这个功能了。本期课程的主要内容如下:在开发板上如何实现设备overlay功能Configfs文件系统的配置与挂载Configfs编程接口如何编写设备 overlay插件设备 overlay的编译和运行设备overlay运行机制分析本期课程适合哪些人学习:嵌入式驱动工程师嵌入式BSP工程师嵌入式软件工程师想从事嵌入式开发的同学全网首家讲解设备overlay的视频教程。   

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宅学部落-王利涛

just for test

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值