一、tslib1.3 的移植:
原文: http://blog.chinaunix.net/uid-11153816-id-2903451.html
tslib-1.3.tar.bz2 下载
环境:
mini2440开发板
linux:2.6.32.2
arm-linux-gcc:4.3.2
解压tslib-1.3.tar.bz2
进入tslib1.3目录
./autogen.sh
./configure --host=arm-linux --target=arm-linux --prefix=$PWD/build --enable-inputapi=yes
修改/tslib/plugins/Makefile 裡面找rpath.将LDFLAGS :=$(LDFLAGS) -rpath $(PLUGIN_DIR)
修改为:LDFLAGS :=$(LDFLAGS) -rpath `cd $(PLUGIN_DIR) && pwd`
make
make install
将生成的build文件夹全部拷入自己的文件系统中的/nfs/busybox/fs_mini2440 目录下
因此,网上流行的环境变量在我的系统下就不能正常工作了,触摸屏没有反应。看了tslib1.3的代码,原来在定义USE_INPUT_API宏的时,就会调用event的接口进行触摸操作。于是在tslib的config.h中加入#define USE_INPUT_API 1,重新编译,再在根文件系统的profile中,注掉#export TSLIB_TSEVENTTYPE=H3600,(不注也可以,因为这时这个环境变量不起作用了。),再修改环境变量TSLIB_TSDEVICE的值为/dev/event0,tslib可以正常操作了。
export V_ROOT=/tslib
#export TSLIB_TSEVENTTYPE=H3600
==================其他好文章========================
http://blog.chinaunix.net/uid-11153816-id-2903451.html
blog.csdn.net/gary_123/article/details/2928740
http://blog.sina.com.cn/s/blog_7bd0d88201011gvi.html
http://blog.csdn.net/lxb316/article/details/4948726
二、tslib1.4的移植: (首选1.4 移植成功,好用!!!)
http://blog.csdn.net/zjucxm/article/details/5845310
1、下载tslib-1.4.tar.gz (pc机上)
http://download.csdn.net/source/3177449。
2、解压安装tslib (pc机上)
解压 tslib-1.4.tar.gz#tar xvzf tslib-1.4.tar.gz
#cd tslib
#./autogen.sh
#./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --prefix=/nfs/busybox/fs_mini2440/usr/local/tslib1.4
在tslib的config.h中加入#define USE_INPUT_API 1, 然后make
#make
#make install
这样以后可以看到/nfs/busybox/fs_mini2440/usr/local/tslib1.4下有了库文件,移植时会用到。
此处的/nfs/busybox/fs_mini2440是网络文件系统跟目录
host选项中malloc后面接着的是数字0,不是小写字母o.
3、修改配置文件 (开发板上)
# vi /usr/local/tslib/etc/ts.conf
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
4、环境变量 (开发板上)
export TSLIB_ROOT=/usr/local/tslib1.4
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONSOLEDEVICE=none
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$LD_LIBRARY_PATH
(在开发板上将上面的语句放在/etc/profile中,从而每次启动自动设置环境变量)
另外,要确保在/dev/input/目录下有event0设备文件,在/dev/目录下有fb0设备文件,如果没有,在执行下面./ts_calibrate的时候,会报出“open *: No such file or directory”的错误,这时,我们需要手动创建设备文件:
# mknod /dev/input/event0 c 13 64
# mknod /dev/fb0 c 29 0
重启开发板,在 /usr/local/tslib1.4/bin 目录下,输入./ts_calibrate,出现tslib的触摸屏五点校准画面,至此,tslib的安装移植成功完成。