Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3882881
  • 博文数量: 356
  • 博客积分: 10458
  • 博客等级: 上将
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-24 14:59
文章分类

全部博文(356)

文章存档

2020年(17)

2019年(9)

2018年(26)

2017年(5)

2016年(11)

2015年(20)

2014年(2)

2013年(17)

2012年(15)

2011年(4)

2010年(7)

2009年(14)

2008年(209)

分类: 嵌入式

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

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 看看设置是否正确

阅读(6055) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~