前言
本文不是讲解触摸屏驱动的细节知识,介绍的是在嵌入式开发中如何快速的移植一款新的触摸屏的驱动。在实际的嵌入式开发中,可能会遇到设备更换一款新的触摸屏,这时候就需要进行快速的触摸屏的驱动移植。工作不是学习,没有时间让你慢慢研究驱动的细节,要的就是快速让触摸屏跑起来。
移植步骤
1.首先是硬件上要连接好。现在一般都是用排线连接,但是注意排线的正反,接反了可能把触摸屏烧掉。谨慎一点的方法:通电后,用手摸一下触摸屏,要是很快就烫手,多半是线接反了,赶紧断电,不然就烧了。
2.拿到对应的驱动程序,一般以.ko文件的形式提供,驱动现在都是厂家提供,细节也不需要你操心。注意芯片平台,要用芯片对应的交叉编译工具链去编译驱动。
3.将.ko文件放到打包环境里专门放驱动的目录下,确保该.ko文件会烧录到设备里。
4.在编译的脚本文件里添加加载该驱动的代码。可以根据需求去加载该驱动,比如根据设备型号,只有特定型号才加载该触摸屏驱动,因为不是所有型号都用的该款触摸屏。
5.打包升级程序到设备,验证该触摸屏是否有效。
触摸屏无效的解决方法:
1.首先确认是否已经将驱动文件(.ko)烧写到设备里。设备的驱动一般都是集中放在某个目录里的,去相应的目录里查找是否有该驱动。(/usr/lib/model,这是我存放驱动的目录,仅供参考)
2.如果.ko文件已经在设备里,用lsmod命令去查看当前已经加载的驱动文件。如果没有加载,那就检查自己加载驱动部分的代码。
3.如果已经加载上该驱动,但是触摸屏没有反应,用 cat /dev/input/event0,去查看设备节点是否有数据。正常情况是触摸一下触摸屏,就会有数据打印。备注:不一定是event0,看你的设备有多少个输入设备,找到触摸屏对应的,我这里用event0是因为我那个设备的输入只有触摸屏。
4.如果驱动加载成功,按触摸屏后/dev/input/event0文件也有内容,那说明触摸屏是检测到触摸的,那你就排查后续的数据传输是不是有问题;
5.如果驱动加载成功,按触摸屏后/dev/input/event0文件没有内容,那可能是驱动本身就有问题,谁给的驱动你找谁。