【驱动移植】触摸屏驱动移植

step1 : 安装qt触摸屏支持tslib

step2 : 修改内核添加触摸屏支持

此处所遇到的问题:

(1)

selected device is not a touchscreen I understand

selected device is not a touchscreen I understand

这是因为:

在使用高版本内核的时候遇到“selected device is not a touchscreen I understand”错误,百度了一下,是由于内核和编译器的一个宏定义不一致导致的,vi include/Linux/input.h  EV_VERSION 为 0x0100000 ,重新编译内核make uImage就ok了。

或者更改触摸屏tslib的EV_VERSION为0x0100001,再重新移植、编译内核,显然推荐第一种方案,简单....

 

(2)

ts_open() failed (No such file or directory)

解决方案:

首先,我手动尝试在目录/dev下面创建设备节点,但是并没有效果

随后,查看内核启动信息,并没有显示和触摸屏相关的启动信息:(应该显示下面标记的这行)

【驱动移植】触摸屏驱动移植_第1张图片

所以排查后,发现是驱动移植时候Makefile改错了,把S3C2410改成S3C2440,重新编译

 

 

当然,到这一步,还没有结束,需要到/usr/local/tslib/bin下执行程序./ts_calibrate对触摸屏进行校正

随后就可以使用了...

你可能感兴趣的:(Linux驱动开发)