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

一线原厂驱动开发经验,专门为嵌入式精心打造的嵌入式进阶视频教程,详情请点击:王利涛老师个人店