您现在的位置是:课程
I2C总线和触摸屏驱动移植实战—5.linux驱动开发第九部分
2023-06-29 20:44课程 人已围观
- 课程目标
- 本课程是Linux驱动开发的第9个课程,主要内容是linux的I2C子系统以及电容触摸屏驱动的移植。学习本课程的核心点在于I2C子系统,目标是对I2C驱动框架的彻底理解和熟练运用。本课程承袭前面platform平台总线的讲解思路和基础,真正做到了对I2C总线做透彻清晰的讲解。
- 适用人群
- 本课程是Linux驱动开发的第9个课程,要求学过前面的课程,尤其是C语言高级专题及驱动基础等课程,有一定编程能力,对linux内核驱动有一定掌握才能学习。
- 课程简介
-
嵌入式绝对是当前IT领域最炙手可热的话题了。其主要应用领域涵盖与人类相关的各行各业:
* 消费电子(手机、平板电脑、游戏机)
* 物联网(智能家居、智慧城市)
* 工业自动化(无人工厂、工业机器人)
可以毫不客气的说,IT发展的未来在于嵌入式。巨大的商机和人才缺口导致嵌入式软件工程师的薪资居高不下,引得无数青年才俊、高校学子相继加入、苦苦钻研。
课程特色
*完全零基础,降低学习门槛。
*深入浅出,通俗易懂。不怕学不会,就怕你不学习。
*思路清晰、语言风趣,对着视频看也不会想睡觉······
*视频 + 文档 + 练习题 + 答疑,全方位保证学习质量。
*基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。
*系列课程。本教程只是入门篇,后续还有更多更精彩视频更新中。
课程目录5.9.1.触摸屏驱动概览
[免费观看]
28:47本节主要介绍了2种触摸屏的驱动差别,本课程用到的三个版本开发板的触摸屏差别以及学习触摸屏驱动的关键点和学习方法。
5.9.2.内核中的竞争状态和互斥1
27:06本节将前面课程中提到,但是没有详细总结的内核竟态处理方法如原子操作、互斥锁、自旋锁等做了详细系统的总结。
5.9.3.内核中的竞争状态和互斥2
27:06本节将前面课程中提到,但是没有详细总结的内核竟态处理方法如原子操作、互斥锁、自旋锁等做了详细系统的总结。
5.9.4.中断的上下半部1
32:41本节主要讲了linux内核中中断上下半部的思路,以及三种下半部解决方案。
5.9.5.中断的上下半部2
28:51本节主要通过代码实例来演示tasklet、workqueue等中断下半部的处理,目的是希望大家掌握这套处理流程,在后面分析触摸屏驱动时看到这些代码能更容易的理解。
5.9.6.linux内核的I2C子系统详解1
25:09本节主要对I2C总线的特征做了个汇总,并专门就一些理解的关键点指出说明。
5.9.7.linux内核的I2C子系统详解2
25:46本节对内核的I2C子系统的构建和组成部分做了整体说明。
5.9.8.linux内核的I2C子系统详解3
28:09本节讲了I2C系统的四个关键结构体,理解这四个结构体及其关联对理解I2C系统的工作原理至关重要。
5.9.9.linux内核的I2C子系统详解4
27:22本节带大家分析i2c_core.c的源码,该文件主要为其他部分提供各种注册接口,属于I2C子系统的关键性代码块。
5.9.10.linux内核的I2C子系统详解5
41:20本节以S5PV210芯片的i2c_adapter驱动为例,详细分析了主机SoC的I2C控制器部分的驱动源码及其实现细节。
5.9.11.linux内核的I2C子系统详解6
23:05本节分析了i2c_driver部分的细节,包括driver的匹配方式、probe函数调用的过程分析等
5.9.12.linux内核的I2C子系统详解7
23:02本节分析了i2c_client的来源,包括board_info如何在mach文件注册,如何通过i2c_new_device接口将其转为i2c_client结构体。
5.9.13.gslX680驱动的移植实践
39:32本节将提供的gslX680的驱动源码移植到老版本内核中并且添加必要的配置,使之正常工作,这种移植工作以后在工作中用到的可能性很大。
5.9.14.gslX680驱动源码分析1
27:05本节开始分析gslX680的驱动源码,主要是i2c_driver和client端的匹配、i2c_client的创建和数据传递这些。
5.9.15.gslX680驱动源码分析2
28:23本节接着分析gslX680的驱动源码,主要是probe函数中的操作,以及中断下半部中上报坐标数据等内容。
5.9.16.老版本触摸屏的驱动
29:03本节对老版本开发板中ft5x05的驱动源码进行了分析,以及移植方面的实践操作。通过2款触摸屏的驱动对比,让大家思路更加宽广。