tp调试笔记

本文记录了车机从电阻屏到电容屏的移植过程,涉及TP驱动的添加、编译、注册及调试。通过在kernel中加入驱动模块,i2c通信设置,以及在目标系统上挂载驱动并使用getevent监测输入子系统。在遇到坐标错误时,调整配置参数解决。同时探讨了可能出现的硬件误差,指出在某些情况下可能需要供应商的firmware层进行坐标转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

车机以前是用的电阻屏,后来根据需要,添加电容屏,工作完成一段时间了,现回忆移植过程:

供应商有给到android的tp驱动过来

1、把tp的驱动加到kernel/drivers/touchscreen目录下

修改该目录下的Makefile 和kconfig文件,使kernel编译的时候能成功编译到该驱动文件(先配置为驱动模块,方便调试)

2、在kernel/arch/arm/mach_xxx/board_xxx.c中为该设备定义i2c通信和中断、电源控制的端口、注册i2c设备以及设备初始化

3、push 驱动.ko文件到目标系统并挂载该驱动

可以通过lsmod、dmesg监视挂载异常

4、adb shell连接目标设备,getevent监视输入子系统,一切正常的话就有坐标打印输出,硬件方面会tp正常输出中断和i2c信号

 

如果驱动有问题的话,在驱动里面加入printk打印,通过dmesg监视究竟问题出在哪里。

针对不同大小的屏幕,tp有不同的配置参数,这些参数就是一个数组值,根据自己平台,选择供应商给的资料里面对应的配置参数,替换即可,不然会出现触摸有信号,getevent有数据,但坐标是乱的,或tp有部分getevent没有坐标打印。

网上看有的tp在firmware取值的时候报值不准,给cpu去读这个值有误差,需要调整firmware层,一般tp只有驱动文件,所有的转换都在驱动里面做了,但这种情况,除非供应商有他自己的firmware层来转换坐标,驱动只是简单的设备访问而已。 

 

 

http://blog.youkuaiyun.com/l627859442/article/details/7633457

http://blog.youkuaiyun.com/fskwypfsk/article/category/1080889

http://blog.youkuaiyun.com/zhang84112635/article/details/8569118

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值