Linux内核编程:设备模型
设备模型是Linux内核中一个非常重要的概念,很多复杂的驱动(比如platform、USB、I2C),都是以设备模型为基础进行构建的。如果你在阅读驱动源码时感觉很吃力,感觉太复杂,错综复杂,无法真正理解其全景框架和底层的运行逻辑,这里真诚地建议你可以尝试从设备模型学起:设备模型以最核心的kobject和kset数据结构构建了设备树的基本骨架,又通过device、bus、driver、class进一步封装,构建了设备模型的基本能力:总线匹配、电源管理、热插拔机制…
本期课程从设备模型最核心的kobject和kset讲起,全网首创使用OOP思想进行讲解,一步一步讲解内核中设备模型的封装过程,通过实际编程,从零编写一个总线子系统,向大家展示一个内核模块是如何从最基本的功能,慢慢迭代和进化成一个子系统的,总线是如何match的,设备是如何probe的,热插拔事件是如何产生和发送的,我们如何监听和解析这些热插拔事件?设备节点是如何自动生成的?通过本期课程的学习,通过自己编程来实现这些功能,你将真正理解这些底层细节,真实地感受到它是如何一步一步实现和运行的,而不仅仅是停留在脑海中的一个抽象概念。
通过本期课程的学习,你的预期收获如下:
- 理解kobject、kset、attribute、uevent在设备模型中的作用
- 掌握sysfs文件系统:注册、挂载、文件的打开读写流程
- 理解sysfs文件系统和设备模型的关联
- 掌握驱动中的device、bus、device_driver、class编程接口
- 真正理解热插拔事件:hotplug/uevent
- 学会自定义、发送、解析热插拔uevent事件
- 学会自己编程,实现设备节点的自动创建
- 学会如何编写总线型(bus)驱动
- 学会从零实现一个bus子系统
- 理解udev/mdev在设备模型中的作用
本期课程总共32课时,课程时长7小时57分05秒,1080P高清无码,课程总大小:5.62GB,详细的课程目录如下:
- 什么是设备模型?
- 设备模型基础:kobject
- 设备模型基础:attribute(上)
- 设备模型基础:attribute(下)
- kobject和sysfs的关联
- sysfs目录创建过程分析
- sysfs文件创建过程分析
- VFS inode的生成过程
- sysfs文件打开过程分析
- sysfs文件读写过程分析
- kobject的生命周期
- 设备模型基础:kset
- 热插拔事件:uevent(上)
- 热插拔事件:uevent(中)
- 热插拔事件:uevent(下)
- 用OOP思想分析设备模型
- 设备模型:bus(上)
- 设备模型:bus(下)
- 设备模型:device(上)
- 设备模型:driver(下)
- 设备模型:device_driver(上)
- 设备模型:device_driver(下)
- bus probe和driver probe
- 设备模型:class(上)
- 设备模型:class(下)
- device的二次抽象
- 实现一个总线子系统
- 驱动复用:match_table
- 设备的热插拔(hotplug)机制
- 从字符驱动到总线驱动(上)
- 从字符驱动到总线驱动(下)
- 本期课程小结
和视频课程配套的PPT、文档、流程图图片已上传网盘,已经购课的学员可以直接下载学习了。
《Linux内核编程》整套课程预售仍在进行中,早买早受益,早买不吃亏。淘宝店:Linux内核编程
或者加QQ群咨询:398294860
一线原厂驱动开发经验,专门为嵌入式精心打造的嵌入式进阶视频教程,详情请点击:王利涛老师个人店