tslib的移植

来源:互联网 发布:linux df命令卡住 编辑:程序博客网 时间:2024/05/18 00:02
tslib为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能。

1).下载source code并解压
   我用的是tslib-1.3.tar.bz2。
   下载地址:http://download.csdn.net/source/673898
2). 配置
./autogen.sh
./configure --host=arm-linux --target=arm-linux --prefix=$PWD/build --enable-static=yes --enable-shared=no
3).修改source code
1。make的时候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。修改src/ts_read_raw.c中的char *defaulttseventtype="H3600",因为我的触摸屏驱动对应此结构。

3。修改src/ts_read_raw.c  中的 ts_config.c文件中 int ts_config(struct tsdev *ts) return ret改为 return 0;
使用默认配置即可,因为这个地方会出现一个错误,错误原因不明,请赐教。

4). 编译与安装
make
make install
cd tests
arm-linux-gcc -o ts_calibrate ts_calibrate.o fbutils.o font_8x8.o font_8x16.o  ../src/.libs/libts.a -ldl -static
cd ../
mv tests/ts_calibrate build/bin/
mv build/etc/ts.conf build/etc/conf

5). 运行
export QT_QWS_FONTDIR=/mnt/qt/lib/fonts
export QWS_MOUSE_PROTO="linuxtp:/dev/ts"
mknod /dev/ts c 13 128

export V_ROOT=/mnt/build
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/ts 
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$V_ROOT/etc/conf
export TSLIB_PLUGINDIR=$V_ROOT/share/ts/plugins
export LD_LIBRARY_PATH=$V_ROOT/lib
最后就可以运行build/bin/ts_cXX应用程序了,运行中将会出现屏幕矫正,矫正完成会在TSLIB_CALIBFILE目录下生成QT或是MINIGUI所需要的标准校验文件。


PS:
   1.  由于我使用的是静态连接,生成的ap不需要到库就可以执行。
   2.  SD文件名错误的关系将ts.conf 改为 conf。
原创粉丝点击