1.下载tslib库代码
git clone https://github.com/kergoth/tslib
2.交叉编译
1 ./autogen.sh
2 ./configure --host=arm-linux --prefix=/home/allen/workplaces/800/zmm1xx/src/preview-kit/modules/ft5316/tslib/tslib_allen CC=/home/allen/workplaces/800/zmm1xx/toolchain/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc
3 make
4 make install
这样,就会在/home/allen/workplaces/800/zmm1xx/src/preview-kit/modules/ft5316/tslib/tslib_allen 路径下生成相关目录以及文件
5.把tslib_allen整个目录拷贝到目标板子/mnt/mtdblock/allen-ts/下面
然后设置环境变量
export TSLIB_ROOT=/mnt/mtdblock/allen-ts/tslib_allen
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
6. 修改ts.conf文件
配置文件ts.conf内容如下:
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
module_raw有许多种,这里只使用input(即Linux的input子系统,设备文件名称为/dev/input/event0),其它的删除掉。后面的几个module 还没有深入了解,它们使用的库就在tslib/lib/ts中,最后三个模块的字面意思是“方差(滤波)”、“去抖动(去噪)”、“线性(座标变换)”,对这些东西不了解,不发表意见。
7./mnt/mtdblock/allen-ts/tslib_allen/bin/ts_calibrate,用bin下面的程式开始测试tp驱动
运行校准程序,触摸屏依次出现5个点,依次点击之: 生成的校准文件名为pointercal,位于/etc目录下
如果想运行ts的测试程序,在tslib/bin目录下输入
屏幕最上方会出现三个按钮,分别为“Drag”、“Draw”和“Quit”,默认是第一个,因此,用触摸笔点击任何一处,十字光标便会到那里。./ts_test 即可。
tslib的移植测试到此结束。
另外,对开源库的移植也做一个小小的总结。
1,下载代码,这是废话。
2,交叉编译
1,一般是生成配置文件。 ./autogen.sh
2,用配置文件配置,生成 Makefile
/configure --host=arm-linux --prefix=xxx CC=xxx
具体的可以配置什么,要具体分析configure脚本
3,生成Makefile后,make,编译开源库
4,运行make install,把生成的相关文件安装到事先设定的--prefix=xxx 路径
有一些开源库交叉编译没有这么复杂,如ppp,没有autogen.sh,,直接运行configure来配置生成Makefile,并且configure配置选项里面没有--host和CC;可配置--prefix
所以生成Makefile之后,编译时候要指定CC ,如make CC=arm-mv5sft-linux-gnueai-gcc。
然后把生成的可执行档放到目标板子的相关目录下/usr/sbin,不需要配置环境变量,即可使用。