一、在ubuntu下编译tslib1.4
1、下载tslib-1.4.tar.gz
http://download.youkuaiyun.com/detail/it_newborn/5675271
2、解压tslib-1.4.tar.gz
tar zxvf tslib-1.4.tar.gz
3、进入tslib
cd tslib
4、执行./autogen.sh
5、配置tslib1.4的编译环境
./configure --prefix=/usr/local/tslib/ --host=arn-none-linux-gnueabi ac_cv_func_malloc_0_nonull=yes
6、make
7、make install
这时,tslib1.4已经安装到了/usr/local目录,在/usr/local目录下生成了tslib文件夹,ubuntu下的编译工作已经完成
二、移植到开发板
1、打包生成的tslib文件
cd /usr/local/tslib
tar zcvf tslib.tgz etc include bin lib
2、将打包好的tslib.tgz拷到开发板文件系统的/usr/tslib目录,可以通过U盘,NFS等方式
3、解压该文件
首先使用gzip解压为tar文件
gzip -dv tslib.tgz
这时会生成tslib.tar文件
然后使用tar命令解压
tar xvf tslib.tar
4、编辑/usr/local/etc下的ts.conf文件,编辑内容如下:
module_raw input
module pthres p min=1
module variance deita=30
module dejitter deita=10000
module linear
注意:module_raw前面不能有空格,否个会出现segmentation fault的错误
5、编辑/etc/profile文件,在后面添加如下环境变量:
export TSLIB_ROOT=/usr/tslib
export LD_LIBRARY_PATH=/usr/tslib/lib
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=/usr/tslib/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_FBDEVICE=/dev/fb0
注意:TSLIB_TSDEVICE根据不同的开发板可能会有差异,进入开发板系统后查询/dev目录下的文件,通常在input下会有触摸屏的驱动程序文件,我的是event0,所以对应的设备节点填/dev/input/event0
6、重启开发板
7、测试TSLIB
cd /usr/tslib/bin
./ts_calibrate
./ts_test
如果出现没有这个目录的错误提示,通常为TSLIB_TSDEVICE路径没有设置正确
如果出现segmentation fault的错误,通常为ts.conf中格式不对,如前面多加了空格等,如果在/etc目录下存在pointercal这个校准文件,则执行./ts_calibrate或是./ts_test,也会出现这个错误,那么把这个校准文件删掉即可