驱动开发是整个嵌入式软件开发中技术含量最高、难度最大,同时也是薪资最高、工作机会最少的一块,处在整个嵌入式软件开发的食物链上游。通过前面4部分课程的学习,大家已经掌握了比较好的基础,因此本课程能够有机会带大家更深入的去解析linux的内核驱动机制,譬如platform总线、I2C、input子系统、framebuffer子系统,驱动的分离与分层原则,三种驱动模型(字符设备、块设备、网络设备)等等。这些内容再加上具体硬件的操作特性其实就是驱动开发的主体了,因此对这些内容的掌握其实就意味着你已经入门驱动开发了,至少可以大方的在自己的求职简历上写上“熟悉linux下常见驱动的调试开发”。
《Linux驱动开发》总计11个课程(112节、60小时),是《朱有鹏老师嵌入式linux核心课程》的第5部分,也是最后一部分了。
主讲内容:
本课程是linux驱动开发的第5个课程,主要内容是linux的设备驱动模型,包括总线、类、设备、驱动等概念,重点通过platform平台总线的工作来演示设备驱动模型的工作方法,实践环节对上个课程的LED驱动进行平台总线式改造,最终目标是让大家彻底掌握linux的总线式设备驱动模型。
适用人群:
本课程是linux驱动开发的第5个课程,要求学过前面的课程,尤其是C语言高级专题及驱动基础等课程,有一定编程能力,对linux内核驱动有一定掌握才能学习。
通过本课程学习,你将学会:
-
linux的设备驱动模型
-
platform平台总线的目的、意义、工作方式
-
平台总线的工作流程
-
如何在平台总线下编写驱动程序
-
实战编写X210下基于平台总线的LED驱动
-
硬件配置信息中的数据如何从device端传递到driver端,并且被driver接收用于硬件的操作方法