tslib1.0移植

转载 2013年12月04日 16:50:37

移植QT需要tslib 触摸屏校正程序的支持,下面我们进行tslib1.0版本的编译、移植讲解

 下载地址:     http://pkgs.fedoraproject.org/repo/pkgs/tslib/tslib-1.0.tar.bz2/92b2eb55b1e4ef7e2c0347069389390e/

#tar  zxvf  tslib-1.0.tar.bz2

1、生成.configure文件

./autogen.sh

2、指定交叉编译器及配置脚本

#CC=arm-linux-gcc    //选择交叉编译器

#./configure--host=arm-linux --prefix=$PWD/../tslib1.0_target  --enable-inputapi=no

//在当前路径的前一级目录建立目标文件夹

#exportPLUGIN_DIR=$PWD/plugins

3.编译

在tslib-1.0\config.h中有一行定义“#define malloc rpl_malloc”,直接注释

#make

#make install

则会在与当前目录平级的文件夹下建立tslib_target文件夹,里面包含bin/ etc/ include/ lib/ 等几个文件夹

 

3、移植到开发板上

1)在开发板的usr/目录下建立文件夹tslib,将上述四个文件夹拷贝到tslib目录下

#cd    /usr/

#mkdir /usr/tslib

#cp    tslib_target/*  /usr/tslib  -r

2)修改/usr/tslib/etc/ts.conf将第一句话的屏蔽去掉

#module_raw input

改为

module_raw input (注意前面不要有空格)

3)修改开发板 /etc目录下/profile 文件,添加以下启动脚本并运行

#vi /etc/profile

export T_ROOT=/usr/tslib                              #目录

exportPATH=$PATH:$T_ROOT/bin                          #可执行程序目录加入环境变量

exportLD_LIBRARY_PATH=/lib:/lib:/usr/lib:$T_ROOT/lib  #库文件目录

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0                        #framebuffer设备文件

export TSLIB_TSDEVICE=/dev/event0                     #触摸屏设备文件

export TSLIB_CALIBFILE=/etc/pointercal                #指定触摸屏校准文件pintercal的存放位置

export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf             #tslib模块配置文件

export TSLIB_PLUGINDIR=$T_ROOT/lib/ts/                #tslib插件库目录

echo "ts init success!"

4、使用与测试

1)ts_calibrate        

    执行后,屏幕上出现5个点,依次点击进行校准,校准完毕后,在/etc下会产生pointercal文件,供其它程序使用,ts_calibrate是一个应用程序,在屏幕上画几个按钮,将用户点击后从ts驱动获得的数据和屏上的坐标位置通过一套算法来获得校准数据写到一个校准文件里

2)ts_print        将屏幕坐标打印出来

                      横坐标 纵坐标  

1796351007.320859:    156    116   500   按下

1796351007.355145:    156    116     0   抬起

3)ts_print_raw    将屏幕坐标的原始数据打印出来

1796350964.530867:    216   865      1  按下

1796350989.946831:      0     0      0  抬起

4)ts_test检测一下校正结果,如果touch的时候,十字光标随着手指移动


5、常见错误的解答

1)

在make的过程提示以下错误解决:

libtool:link: only absolute run-paths areallowed

忘记指定环境变量:exportPLUGIN_DIR=$PWD/plugins

2)

ts_config: Success

追查后应该是在打开ts_config中出现了错误

tslib插件库目录 没有指定对

exportTSLIB_PLUGINDIR=$T_ROOT/share/ts/plugins/     #tslib插件库目录

3)

ts_open:Inappropriate ioctol for device

自己板子的触摸屏驱动不支持ioctl操作

.configure 时加上 --enable-inputapi=no 参数

4)
./ts_calibrate: error while loading shared libraries: libts-0.0.so.0: cannotopen shared object file: Error 40
./ts_calibrate: error while loading shared libraries: libts-0.0.so.0: cannotope
n shared object file: No such file or directory

解决办法:
#echo $LD_LIBRARY_PATH  //查看lib路径,
#export LD_LIBRARY_PATH=$T_ROOT/lib

5)
ts_open: No such file or directory
解决办法:
#export TSLIB_TSDEVICE=/dev/input/event0   //触摸屏设备路径

6)
Couldnt open tslib config file: No such file or directory ts_config: Illegalseek
解决办法:
#export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf

7)
Couldnt load module pthres
No raw modules loaded.
ts_config: Success
解决办法:
#export TSLIB_PLUGINDIR=$T_ROOT/lib/ts

8)
No raw modules loaded.
Ts_config: No such file or directory
解决办法:
修改$T_ROOT/etc/ts.conf, 至少放开一个module_raw,并去掉前面空格

ok6410 linux3.8.3 tslib1.0安装移植

原文链接:http://bbs.elecfans.com/forum.php?mod=viewthread&tid=357014&authorid=222350&page=3#comment_top ...

tslib1.0移植

移植QT需要tslib 触摸屏校正程序的支持,下面我们进行tslib1.0版本的编译、移植讲解 下载地址: http://www.rayfile.com/zh-cn/files/a01f838a-c1...

QT移植到Linux总结(一)tslib1.0

一、编译安装tslib-1.0 (1)下载tslib-1.0     源代码来自:http://sourceforge.net/projects/tslib.berlios/files/ (2)...

smart210触摸屏tslib移植

  • 2017年09月24日 19:50
  • 3KB
  • 下载

移植tslib-1.4.doc

  • 2009年08月21日 09:44
  • 31KB
  • 下载

移植触屏驱动,利用buildroot编译tslib,

基于2440开发板1. 内核修改1.1首先更改平台设备文件arch/arm/mach-s3c24xx/mach-lxa2440.c(由mach-mini2440.c修改而来) 添加头文件ts.h,最新...

tslib移植说明

  • 2013年01月25日 10:21
  • 28KB
  • 下载

tslib和Qt移植笔记--转载

主机:Windows 7旗舰版,VMware7.1.2,Fedora9 编译环境:arm-linux-gcc 4.4.3 Linux版本:linux-2.6.32.2 目标板文件系统...
  • bobbat
  • bobbat
  • 2016年05月23日 09:28
  • 487

tslib 详细移植文档

  • 2010年05月21日 20:50
  • 36KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tslib1.0移植
举报原因:
原因补充:

(最多只允许输入30个字)