设为首页 加入收藏

TOP

tslib1.0移植
2014-11-24 12:20:53 来源: 作者: 【 】 浏览:0
Tags:tslib1.0 移植

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


下载在Linux公社的1号FTP服务器里,下载地址:


密码:www.muu.cc


在 2011年LinuxIDC.com\10月\tslib1.0移植


下载方法见 http://www.linuxidc.net/thread-1187-1-1.html


#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,并去掉前面空格


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Sqlite 3.7.6.2在PC及S3C2440平台.. 下一篇QT4.7.0 在ARM平台移植

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·用 Python 进行数据 (2025-12-25 15:49:09)
·如何学习Python数据 (2025-12-25 15:49:07)
·利用Python进行数据 (2025-12-25 15:49:04)
·Java 学习线路图是怎 (2025-12-25 15:19:15)
·关于 Java 学习,有 (2025-12-25 15:19:12)