首先还是一样先将tslib库先安装好,由于我使用的远程挂载的方式,所以先将安装好的库拷贝到网络文件夹,之后在拷贝到板子的文件系统中。
tar xzf tslib-1.4.tar.gz
cd tslib
./autogen.sh
mkdir tmp //创建安装目录
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache //设置参数
//配置安装到当前目录下的tmp目录中
./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=$(pwd)/tmp
make //编译
make install //安装到temp目录下
cd tmp //进入tmp, 将tmp里面的bin ,etc,include,lib4个目录下的文件拷贝到文件系统的bin ,etc,include,lib4个目录下
cp tmp /work/nfs_root/ts_dir -rfd //强制拷贝temp文件夹所有文件到nfs_root远程挂载文件夹中去 -d:保持链接,原来的是链接,复制过来的还是链接
在开发板上执行
cd /mnt/ts_dir/
cp * / -rfd
修改/etc/ts.conf 将module前面的#都去掉且不能保留空格
如果还是有问题可以看看这篇文章https://blog.csdn.net/u012175418/article/details/52745841
实验方法:
a. insmod s3c_ts.ko
ls /dev/event*
查看/dev/event0是否存在。
cat /dev/event0
然后按触摸屏查看是否有乱码出现,确定event0是否是触摸屏。
b、写入环境变量
export TSLIB_TSDEVICE=/dev/event0 //触摸屏设备为/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal //校验文件位置
export TSLIB_CONFFILE=/etc/ts.conf //配置文件位置
export TSLIB_PLUGINDIR=/lib/ts //插件位置
export TSLIB_CONSOLEDEVICE=none //
export TSLIB_FBDEVICE=/dev/fb0 //显示设备为/dev/fb0
c. 较准
ts_calibrate
这个时候屏幕会出现一个十字架,点击之后就可以校准。
不过我在使用时点击了一下之后就出错了,解决之后我在写上解决方法。
ts_calibrate
xres = 480, yres = 272
Took 8 samples...
Top left : X = 1054835556 Y = -1071993728
Took 8 samples...
Top right : X = -8588150 Y = -1072816116
Took 8 samples...
Bot right : X = -1072740277 Y = -1071993728
Took 8 samples...
Bot left : X = -8588150 Y = -1072816116
Took 8 samples...
Center : X = -1072740277 Y = -1071993728
1.156014 -0.284661 0.058817
1.553131 0.290240 -0.059970
Calibration constants: 75760 -18655 3854 101785 19021 -3930 65536
此错误的解决方法是重新编译tslib库后就解决了