Linux内核编程:设备树overlay和ConfigFS文件系统
课时介绍
课程介绍
一般情况下,如上图所示,设备树经过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工程师
- 嵌入式软件工程师
- 想从事嵌入式开发的同学
![](https://img-bss.csdnimg.cn/20230310164946402.jpg)
信息系统项目管理师自考笔记
李明 · 471人在学
![](https://img-bss.csdnimg.cn/20230209103846475.jpg)
python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据
王先生 · 19517人在学
![](https://img-bss.csdnimg.cn/20230223112139850.jpg)
手把手搭建Java超市管理系统【附源码】(毕设)
汤小洋 · 3966人在学
![](https://img-bss.csdnimg.cn/20230310023309619.jpg)
Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教
黄菊华 · 711人在学
![](https://img-bss.csdnimg.cn/20230306080326366.jpg)
基于SSM酒店管理系统(毕设)
小尼老师 · 756人在学
![](https://img-bss.csdnimg.cn/20230309142945699.jpg)
java项目实战之购物商城(java毕业设计)
Long · 5036人在学
![](https://img-bss.csdnimg.cn/20230209103441430.jpg)
手把手搭建Java求职招聘系统【附源码】(毕设)
汤小洋 · 1440人在学
![](https://img-bss.csdnimg.cn/20230209102556332.jpg)
Python Django 深度学习 小程序
钟翔 · 2196人在学
![](https://img-bss.csdnimg.cn/20230319220248658.jpg)
城管局门前三包管理系统+微信小程序(vue+springboot)
赖国荣 · 459人在学
![](https://img-bss.csdnimg.cn/20230217182141590.jpg)
Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序
李杰 · 3783人在学