- 畅销套餐
- 精选套餐
- 人气套餐
- 尊享套餐
- 高薪套餐


















- 课程介绍
- 课程大纲 试看
- 讲师好课 31
适合人群:
嵌入式工程师 嵌入式软件工程师 Android 驱动工程师 Android BSP工程师 Linux内核驱动工程师 嵌入式学习开发人员
学习计划:
共14课时 跟着实验做一遍,3天差不多搞定
课程目标:
学会给Linux内核打补丁,实现设备树的overlay功能。学会编写设备树overlay插件
课程简介:
在嵌入式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运行机制分析
常见问题:
问:学习本门课程需要什么基础
答:本门课程是设备树课程的进阶课程。 学员在掌握了设备树、如何修改设备树文件的基础上,学会如何动态修改设备树。 设备树的overlay功能,内核mainline目前不支持,需要跟着老师一起给内核打补丁。
问:学习本门课程需要什么开发板?
答:本门课程不用买开发板,使用虚拟ARM开发板学习,在上面跑U-boot+Linux+NFS嵌入式Linux学习环境。 搭建好的学习环境,Ubuntu镜像可以到这个地址下载:https://www.zhaixue.cc/qemu/qemu-qemu-lab.html,镜像下载到本地电脑后,使用VMware station(建议15 Pro版本)直接打开就可以运行。
问:学完本门课程有什么收获?
答:现在越来越多的开发板支持动态修改设备树,如果你的当前开发板还不支持,学完本课程,就可以尝试在自己的开发板上实现动态修改设备树的功能了,更方便下游的工程师开发、学习和使用。
课程大纲-Linux内核编程:设备树overlay与ConfigFS文件系统
资料下载