软件平台:
win7系统,虚拟机ubuntu12.04
mini2440开发板
tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。
1.下载源码:http://download.csdn.net/source/3177449
2.在ubuntu下面安装以下文件:
apt-get install automake
apt-get install autogen
apt-get install autoconf
3.解压并安装源码包
# tar -zxvf tslib-1.4.tar.gz
# cd tslib
# ./autogen.sh
#./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache --prefix=/usr/local/tslib
# make
# make install
在安装过程中可能会出现以下问题:
问题1:
问题是缺少指定文件,安装即可:
问题2:
这知道这个问题弄的很纠结,不知道查了很多方法也不知道怎么解决,知道这是利用autotoos的方法来产生Makefile文件,感觉是缺少脚本文件,于是就在终端运行
automake --add-missing命令,书上查到资料,使用这个命令可以自动添加一些必须的脚本文件,有可能我的系统之前没有使用过autotools方法来产生Makefile文件,所以系统中缺少一些必要的脚本文件,接下来产生Makefile之后,就可以运行make和make install命令了。
4.交叉编译安装后的文件在/usr/local/tslib文件内,需要拷贝一下文件至开发板:
/usr/local/tslib/lib目录下的pkgconfig文件除外其他所有文件拷贝到开发板/lib目录下,/usr/local/tslib/etc下的ts.conf文件拷贝至开发板的/etc下
mini2440开发板上其实已经配置好tslib,你可以将原来的库文件和配置文件覆盖掉,也可以将tslib整个文件夹拷贝至开发板/usr/local下,只是我们需要设置的环境变量是不同的。
将文件复制到开发板可以使用nfs网络共享或者是用u盘拷贝
修改拷贝到开发板的ts.conf文件,将该文件的第二行的#注释符去掉并顶格,如下所示:
# Uncomment if you wish to use the linux input layer event interface
module_raw input
如果按照和我一样的做法只是将库文件和配置文件复制到开发板覆盖掉以前的文件,则我们设置的环境变量如下所示:
使用vi打开/etc/profile,添加如下代码,该文件内已经存在tslib的环境变量,只是稍作修改,
export TSLIB_TSDEVICE=/dev/input/event0 //触摸屏设备文件名
export TSLIB_CALIBFILE=/etc/pointercal //触摸屏校准文件
export TSLIB_CONFFILE=/etc/ts.conf //配置文件位置
export TSLIB_PLUGINDIR=/lib/ts //需要加载模块所在目录
export TSLIB_FBDEVICE=/dev/fb0 //帧缓冲设备
export TSLIB_CONSOLEDEVICE=none //设备控制台文件名
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib //指定库文件路径
完成环境变量的设置后,重启开发板,运行测试文件,在etc下输入./ts_calibrate进行校准,输入./ts_test进行触摸笔的绘图测验,如果没有这两个测试文件,可以到我们编译安装的目录/usr/local/tslib目录下进行复制,如果测试成功话那tslib的移植就到此结束了。
参考文章:http://www.cnblogs.com/emouse/archive/2013/01/29/2881311.html