5.1移植tslib
5.1.1在https://github.com/kergoth/tslib下载最新的tslib
5.1.2为虚拟机里的Linux系统安装工具
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
要注意新版gcc open函数有3个參数,ts_calibrate.c后要加一个參数0777.
5.1.3 解压后编译
mv xxx(解压后名字) tslib //名字改为tslib
cd tslib
./autogen.sh
mkdir tmp
echo "ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache
./configure --host=arm-linux--cache-file=arm-linux.cache --prefix=$(pwd)/tmp
make
make install
打开tmp文件夹。里面有四个文件夹,各自是bin、etc、include、lib。
将etc文件夹下的ts.conf里的第2行去掉凝视。
即:
# module_raw input 改为: module_raw input
将tmp拷贝到开发板根文件文件夹下/usr/local/并改名tslib
在开发板根文件文件夹/bin/下新建一个文件calibrate,内容例如以下:
#! /bin/sh |
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_TSEVENTTYPE=H3600
exportTSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export QWS_KEYBOARD="TTY:/dev/tty1"
if [ -c /dev/event0 ]; then
if [ -e /etc/pointercal -a ! -s /etc/pointercal] ; then
rm /etc/pointercal
fi
fi
export QTDIR=/opt/qt-4.8.4
export QPEDIR=/opt/qt-4.8.4
export PATH=$QTDIR/bin:$PATH
#export LD_LIBRARY_PATH=$QTDIR/plugins/qtopialmigrate/:$QTDIR/qt_plugins/imageformats/:$QTDIR/lib:/root/tslib/build/lib:$LD_LIBRARY_PATH
exportLD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$TSLIB_ROOT/lib:$LD_LIBRARY_PATH
exec /usr/local/tslib/bin/ts_calibrate 1>/dev/null2>/dev/null
重新启动开发板。进入linux 3.8.3命令行控制模式后输入
calibrate就会在LCD屏幕上出现触摸屏校准程序。
注意:測试之前。首先得保证在/dev文件夹下有触摸屏设备节点eventX.以event0为例。没有的话用mknod命令手动加入。