这篇文章必须要写,因为昨天移植了触摸屏的驱动后又移植了tslib,拷到开发板上运行后出现了这个错误,更恐怖的是花了一个晚上的时间,早上来实验室才弄好,网上找了好多这个错误的解决方法,很多都不是蛮详细的,都比较不适合我们新手去看。
不过千辛万苦的是找到了这个博客,最后帮助我解决了,大家可以参考一下
http://blog.csdn.net/zhaocj/article/details/37522115
我写这个博客是为了让更多的跟我一样的新手来解决这个问题,有载图的话估计比较清晰一点。
首先我们的思路应该是先判断是内核错误还是tslib移植的错误。
首先进入内核触摸屏驱动的源代码
vim drivers/input/touchscreen/s3c2410_ts.c
当我们每按一下屏幕 用printk将坐标信息打印出来
出现了坐标信息,说明我们内核里面移植的触摸屏驱动没有问题
这样我们就可以确定应该是我们的tslib的问题
首先是环境变量和配置的问题,这些问题在我这篇文章中写道了,这里的这个问题显现不是环境和配置的问题 (http://blog.csdn.net/liuzijiang1123/article/details/45670049)
看到这个错误的提示,我们应该想到tslib源码里面肯定有这个错误提示的条件,这样就让我们有了思路,我们可以去找到这个文件看看他错误判断的条件是啥?
[lzj@localhost plugins]$ pwd
/home/lzj/fl2440/3rdparty/tslib/plugins
[lzj@localhost plugins]$ vim input-raw.c
首先tslib通过EVIOCGVERSION来获取驱动的版本号,然后再通过EVIOCGBIT来判断设备是否为触摸屏,最后获取触摸屏的X轴(ABS_X),