网站大量收购闲置独家精品文档,联系QQ:2885784924

TP驱动运行流程分析.PDF

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TP驱动运行流程分析.PDF

TP驱动运行流程分析 目录 1. 前论2 2. 内核编程特点3 3. 内核头文件及宏说明4 4. GT9 系列驱动代码详细分析4 4.1 函数goodix_ts_init()4 4.1.1 注册工作队列4 4.1.2 注册i2c 设备5 4.2 函数goodix_ts_probe()5 4.2.1 测试I2C 适配器能力5 4.2.2 分配空间kzalloc()5 4.2.3 绑定工作队列函数6 4.2.4 申请锁机制6 4.2.5 申请IO 口及上电复位6 4.2.6 测试I2C 通信8 4.2.7 固件升级8 4.2.8 初始化TP 信息9 4.2.9 注册输入设备9 4.2.10 申请中断9 4.2.11 读取版本号10 4.2.12 创建读写节点10 4.3 中断及轮询机制添加工作10 4.4 最主要的工作函数goodix_ts_work_func()11 4.4.1 查找私有结构体数据11 4.4.2 查看是否滑动唤醒11 4.4.3 获取触摸信息11 4.4.4 查看按键信息12 4.4.5 报点方式12 4.4.6 状态重置12 4.5 其他函数功能12 4.5.1 函数goodix_ts_early_suspend()12 4.5.2 函数gtp_enter_doze()13 4.5.3 函数goodix_ts_late_resume()13 4.5.4 函数gtp_irq_enable()13 4.6 退出及移除函数13 5. 系统流程图13 5.1 系统流程图14 5.2 ESD 保护机制流程图15 5.3 滑动唤醒流程图15 6. 自动升级流程简介16 7. Goodix_flashless 相关信息16 7.1 flashless 简介16 7.2 flashless 相关函数及流程图16 7.2.1 gtp_flashless_init()函数16 7.2.2 工作函数goodix_ts_work_func()18 1. 1. 11.. 前论 以下内容按照驱动运行流程编写: 优点是内容详细,基本上的函数都说明到位了。并且还对于内核方面的知识 及操作系统知识加了自己的一些理解在其中,其后增加了flashless 的部分。而对 于函数的功能用法以及相关函数的用法也有涉及。 缺点是由于是理解驱动函数运行,所以原理上的东西比较多,缺点是字比较 多,图相对少。 从移植驱动成功,然后串口打印的信息,以及自己对GT9 系列的驱动代码的 理解,我用自己的想法来分析下TP 驱动运行的流程,还包括一些内核编程的知 识吧。 2. 2. 22.. 内核编程特点 内核的编程不同于应用层的编程,它是有一些限制的。比如说: 1、内核的编程是不能使用浮点数的,因为这个计算可能会对系统造成影响, 可以转化为分数来计算,但是不能出现小数。 2、内核编程是不能使用C 语言库函数的,因为这个地方已经是内核里面了, 还没有创建出库函数来。但是我们可以使用LINUX 的一些其他内核函数来代替。 简单的例子就是,虽然我们不能使用printf 这个把内核打印到屏幕的函数,但是 我们却可以使用printk 来进行打印,需要注意的点是,printk 是有消息优先级的, 比如最高优先级是print

文档评论(0)

zcbsj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档