分类: 嵌入式
2010-10-18 10:24:15
作者:帅得不敢出门 C++哈哈堂 31843264 转载请保留此信息
编译安装tslib就不说了,只说安装到板子上后,运行相应的测试程序出现问题的解决方法
./ts_test -qws
/dev/touchscreen/ucb1x00: No such file or directory
这里只要设置好TSLIB_TSDEVICE环境变量就可以了,下面会提到
/dev/input/event0: No such file or directory
解决
mknod /dev/input/event0 c 13 64
ioctl VT_OPENQRY: Inappropriate ioctl for device
KDSETMODE: Bad
file descriptor
解决
export TSLIB_CONSOLEDEVICE=none
open fbdevice: No such file or directory
解决
export TSLIB_FBDEVICE=/dev/fb0
如果没有fb0则还得手动添加
mknod /dev/fb0 c 29 0
ts_test: QWSTslibMouseHandlerPrivate: ts_open() failed with error: 'No such file or dire'
设置好QWS_MOUSE_PROTO环境变量就行
如果ts_test运行通过,其他程序运行还是出现上面错误, 就有些麻烦了,tslib估计得重新编译了,以下有一个patch
--- tslib.orig/plugins/Makefile.am
+++ tslib/plugins/Makefile.am
@@ -107,15 +107,19 @@ pluginexec_LTLIBRARIES = \
variance_la_SOURCES = variance.c
variance_la_LDFLAGS = -module $(LTVSN)
+variance_la_LIBADD = $(top_builddir)/src/libts.la
dejitter_la_SOURCES = dejitter.c
dejitter_la_LDFLAGS = -module $(LTVSN)
+dejitter_la_LIBADD = $(top_builddir)/src/libts.la
linear_la_SOURCES = linear.c
linear_la_LDFLAGS = -module $(LTVSN)
+linear_la_LIBADD = $(top_builddir)/src/libts.la
pthres_la_SOURCES = pthres.c
pthres_la_LDFLAGS = -module $(LTVSN)
+pthres_la_LIBADD = $(top_builddir)/src/libts.la
# hw access
corgi_la_SOURCES = corgi-raw.c
还有一个原因可能是你编译qt时configure的tslib的相关参数设置不对可参考此链接
ts_calibrate:Couldnt open tslib config file
应正确设置好TSLIB_CONFFILE
tslib 安装生成的ts.conf也须要修改,否则ts_test也是无法成功运行的
#module_raw input 改成module_raw input
上面问题大都是由于环境变量未设置正确
总的方法是在板子上添加如下env 可以加在/et/profile里
export TSLIB_ROOT=/usr/local/arm/arm412
export
TSLIB_TSDEVICE=/dev/input/event0
export
TSLIB_CALIBFILE=/etc/pointercal
export
TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export
TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export
TSLIB_FBDEVICE=/dev/fb0
export
QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
TSLIB_ROOT就是tslib编译时安装的目录就是你指定的prefix
TSLIB_TSDEVICE 有的可能是/dev/event0 要是不确定可以查看下板子的dev目录
TSLIB_CONFFILE与QWS_MOUSE_PROTO 的值如果不确定,你可以在板子上find / -name ts.conf 看看设置是否正确