Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2132340
  • 博文数量: 288
  • 博客积分: 10594
  • 博客等级: 上将
  • 技术积分: 3469
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-27 19:27
文章分类

全部博文(288)

文章存档

2012年(4)

2011年(30)

2010年(40)

2009年(32)

2008年(71)

2007年(79)

2006年(32)

分类: LINUX

2009-01-08 15:31:08

lib为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能。

1).下载source code并解压
   我用的是tslib-1.3.tar.bz2。
   下载地址:
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。lib为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能。

1).下载source code并解压
   我用的是tslib-1.3.tar.bz2。
   下载地址:
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所需要的标准校验文件。


出现问题   In function `dlfcn_load' , 可加上-ldl解决, 要证工具链中有这个库才可以
:dso_dlfcn.c:(.text+0x45): undefined reference to `dlopen'
:dso_dlfcn.c:(.text+0xc4): undefined reference to `dlclose'
:dso_dlfcn.c:(.text+0x102): undefined reference to `dlerror'
解决方法:
在Makefile中的链接参数加上 -ldl就可以解决了



PS:
   1.  由于我使用的是静态连接,生成的ap不需要到库就可以执行。
   2.  SD文件名错误的关系将ts.conf 改为 conf。
阅读(1841) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~