1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > tslib Linux命令测试 tslib 的编译和触摸屏的测试

tslib Linux命令测试 tslib 的编译和触摸屏的测试

时间:2018-07-28 14:33:05

相关推荐

tslib Linux命令测试 tslib 的编译和触摸屏的测试

在编写完触摸屏的驱动程序以后,就可以使用通过编译tslib确定自己的驱动程序是否可以,也可以通过tslib调试自己对坐标的处理。

一、 编译

cd /root/imx27/tslib-1.3

export CC=arm-linux-gcc

./autogen.sh

echo “ac_cv_func_malloc_0_nonnull=yes”>arm-linux.cache

./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no

如果触摸屏驱动程序支持ioctl操作,那么可以把configure的选项--enable-inputapi=no去掉。

在交叉编译TSLIB的时候出现了libtool:link: only absolute run-paths are allowed错误

解决方法:要修改/tslib/plugins/Makefile里面找rpath,找到将其注释并加上绝对路径。

找到:LDFLAGS :=$(LDFLAGS) -rpath $(PLUGIN_DIR)

修改为:

LDFLAGS :=$(LDFLAGS) -rpath `cd $(PLUGIN_DIR) && pwd`

二、测试

2.1 在自己的nfs目录下创建了一个tslib目录,只copy一些需要的文件

mkdir /home/yuehy/rootfs/tslib

mkdir /home/yuehy/rootfs/tslib/tests

mkdir /home/yuehy/rootfs/tslib/plugins

mkdir /home/yuehy/rootfs/tslib/lib

mkdir /home/yuehy/rootfs/tslib/etc

2.2设置测试目录

cp /root/imx27/tslib-1.3/tests/.libs/ts_* /home/yuehy/rootfs/tslib/tests/ //几个所需的测试文件,比如生成的校准文件,测试文件等

cp /root/imx27/tslib-1.3/src/.libs/libts_0.0.so.0* /home/yuehy/rootfs/tslib/lib/ //程序运行需要的库文件

cp /root/imx27/tslib-1.3/src/.libs/libts.so /home/yuehy/rootfs/tslib/libts.so //程序运行需要的库文件

cp /root/imx27/tslib-1.3/plugins/.libs/*.so /home/yuehy/rootfs/tslib/plugins/ //触摸屏插件模块库。

cp /root/imx27/etc/ts.conf /home/yuehy/rootfs/tslib/etc/ //配置文件

2.3 环境变量设置:

由于程序中默认的帧缓冲设备为/dev/fb0,所以要检查自己开发板的具体情况,要是帧缓冲设备不是/dev/fb0的话,做个链接产生/dev/fb0即可。

2.3设定环境变量

export QWS_MOUSE_PROTO=TPanel:/dev/ts //此处填写触摸屏的设备节点

export T_ROOT=/tslib

export LD_LIBRARY_PATH=$T_ROOT/lib //指定tslib库文件路径

export TSLIB_CONSOLEDEVICE=none //tslib运行需要的控制台,这里就是LCD屏幕,设定控制台设备为none,否则默认为/dev/tty

export TSLIB_FBDEVICE=/dev/fb0 //指定帧缓冲设备

export TSLIB_TSDEVICE=/dev/ts //指定触摸屏设备节点文件

export TSLIB_TSEVENTTYPE=H3600 //对tslib的设备结构体定义。

export TSLIB_CALIBFILE=$T_ROOT/etc/pointercal //指定触摸屏校准文件pintercal的存放位置。在设定这个文件的位置时候,要注意存放校准文件的位置是否允许读写,校准文件一定要存放在允许读写的位置。

2.4 校准

行校准程序校准屏幕(5点校准)

cd $T_ROOT/tests

./ts_calibrate //板子上陆续出现5个光标,点击完毕后会生成校准文件pintercal存放在$T_ROOT/etc/下

ts_calibrate 是一个应用程序,在屏幕上画几个十字,将用户点击后从触摸屏驱动获得的数据和屏上的坐标通过一套算法来获得校准数据写入到校准文件当中。

再继续测试

./ts_test //这时LCD上出现光标,要是前面操作都是正确的话,光标应该指哪打哪的,点在哪个地方,光标就出现在哪个地方。要是点了之后,光标没有任何的动作,那么要仔细查看ts.conf的配置文件了。

我自己的ts.conf里面的内容是:

#module mousebuts

module variance xlimit=50 ylimit=50 pthreshold=3

module dejitter xdelta=1 ydelta=1 pthreshold=3

module linear

要是发生光标没有任何反应,可以尝试只保留:module linear,先把其他的屏蔽掉,这个需要自己反复进行调试。

三、错误

出现错误,不外乎就是库文件找不到,仔细阅读一下错误提示都是应该解决的。

以上所述只是在自己的开发环境中进行了测试,可能不同的环境导致的问题不一样,根据自己的具体情况进行分析即可。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。