文档详情

MiniGui-Tslib错误解决方法.doc

发布:2017-02-26约9.98万字共15页下载文档
文本预览下载声明
移植了新内核版本2.6.38,然后想重新做个qt文件系统,我利用busybox制作一个基本文件系统,烧写到开发板上,然后就想先试试tslib触摸屏校准是否好用,刚开始使用的是tslib1.14这个版本,编译后下载到文件系统上,设置好环境变量,运行ts_calibrate ,然后就出来了一句话:“selected device is not a touchscreen I understand”,点击触摸屏无反应,赶紧查看原因, 1、查看内核启动信息,有如下内容: mousedev: PS/2 mouse device common for all mice samsung-ts s3c2410-ts: driver attached, registering input device input: S3C24XX TouchScreen as /devices/virtual/input/input0 2.cd dev/input,ls,显示有event0 mice mouse0,再ls -l crw------- 1 0 0 13, 64 Jan 1 00:00 event0 crw------- 1 0 0 13, 63 Jan 1 00:00 mice crw------- 1 0 0 13, 32 Jan 1 00:00 mouse0 3.然后 cat /proc/bus/input/devices I: Bus=0019 Vendor=dead Product=beef Version=0102 N: Name=S3C24XX TouchScreen P: Phys= S: Sysfs=/devices/virtual/input/input0 U: Uniq= H: Handlers=mouse0 event0 B: PROP=0 B: EV=b B: KEY=400 0 0 0 0 0 0 0 0 0 0 B: ABS=3 4.cat /dev/input/event0,点击触摸屏,显示乱码。 5.没办法了,我换上了以前能用的tslib文件,问题依旧啊。 ~~~~~~~~把我郁闷滴,人都快被折磨疯了,网上能试的方法都差不多了,我又记起了我新下载的tslib文件,是从官网上下载的,不同于网上流传的1.14版本,然后 #./autogen.sh #./configure --host=arm-linux --prefix=/$BUILD/tslib/install #make 2install.log #make install 2install.log 不同于以前版本的编译,下面旧版本的编译方式,注意到红色的信息,新版本是不需要的。 #./autogen.sh #./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes CC=arm-linux-gcc --prefix=$BUILD/tslib/install? #make 2install.log? #make install 2install.log? ------------------------------------------------------------------------ 编译好后,打包下载到开发板上,运行?ts_calibrate,点击触摸屏,它有反应了,ww,又试了目录下其他几个程序 ,ok(废话,当然行的)。 触摸屏驱动虽然移植成功了可是tslib没有作用,触摸屏还是没有用,$ W( `) b; O N6 V3 `* N 我用ts_test测试终端打印了 tslib: Selected device uses a different version of the event protocol than tslib was compiled for 查看tslib源代码发现打印该信息的语句在tslib的源代码的plugs文件夹中input-raw.c的, H0 d3 m$ K2 H: G J C D static int check_fd(struct tslib_input *i)函数中,发现tslib在加载linux触摸屏驱动模块时会检查内核的输入子系统的 版本号: if (ioctl(ts-fd, EVIOCGVERSION, version) 0) { fprintf(stderr, tslib: Selected device is not a Linux input event device\n); return -1; } 上面程序段将驱动的版本号存放在整型的version中 if (version != EV_VERSION) { fprintf(
显示全部
相似文档