驱动开发是整个嵌入式软件开发中技术含量最高、难度最大,同时也是薪资最高、工作机会最少的一块,处在整个嵌入式软件开发的食物链上游。通过前面4部分课程的学习,大家已经掌握了比较好的基础,因此本课程能够有机会带大家更深入的去解析linux的内核驱动机制,譬如platform总线、I2C、input子系统、framebuffer子系统,驱动的分离与分层原则,三种驱动模型(字符设备、块设备、网络设备)等等。这些内容再加上具体硬件的操作特性其实就是驱动开发的主体了,因此对这些内容的掌握其实就意味着你已经入门驱动开发了,至少可以大方的在自己的求职简历上写上“熟悉linux下常见驱动的调试开发”。
《Linux驱动开发》总计11个课程(112节、60小时),是《朱有鹏老师嵌入式linux核心课程》的第5部分,也是最后一部分了。
主讲内容:
本课程是linux驱动开发的第11个课程,主要内容是linux的网络驱动的介绍,首先讲述了网络设备驱动接口和之前讲的2种的不同,然后以一个虚拟网卡驱动源码学习了网卡驱动的框架,最后分析了一个实际网卡DM9000的驱动细节。
适用人群:
本课程是linux驱动开发的第11个课程,要求学过前面的课程,尤其是C语言高级专题及驱动基础等课程,有一定编程能力,对linux内核驱动有一定掌握才能学习。
通过本课程学习,你将学会:
-
驱动模型和字符设备块设备的区别
-
对网络设备驱动的框架进行理解和分析
-
DM9000驱动源码分析
-
验证网络设备驱动框架,并且对之前课程中学到的一些技巧进行运用