前提:安装好了交叉编译环境,参照:安装arm-linux- 交叉编译工具(ubuntu 14)。
科普:Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。
下载 Tslib(此链接非我用的文件,但我看文件目录基本一致,差别不会大)。
- 安装依赖。
root@linger-virtual-machine:/home/linger# apt-get install automake
root@linger-virtual-machine:/home/linger# apt-get install autogen
root@linger-virtual-machine:/home/linger# apt-get install autoconf
root@linger-virtual-machine:/home/linger# apt-get install libtool
root@linger-virtual-machine:/home/linger# tar xvzf ./tslib.tar.gz
root@linger-virtual-machine:/home/linger# cd tslib
root@linger-virtual-machine:/home/linger/tslib# tar xvzf ./tslib--src.tar.gz
root@linger-virtual-machine:/home/linger/tslib# cd tslib
- 修改配置文件。
root@linger-virtual-machine:/home/linger/tslib/tslib# vim /etc/bash.bashrc - 最后加入下面几句,保存退出。
export PATH=$PATH:/usr/local/arm/4.3.2/bin
export TOOLCHAIN=/usr/local/arm/4.3.2
export TB_CC_PREFIX=arm-linux-
export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-linux - 使配置文件生效,交叉编译tslib。
root@linger-virtual-machine:/home/linger/tslib/tslib# source /etc/bash.bashrc
root@linger-virtual-machine:/home/linger/tslib/tslib# ./autogen.sh
root@linger-virtual-machine:/home/linger/tslib/tslib# echo "ac_cv_func_malloc_0 _nonnull=yes" >arm-linux.cache
root@linger-virtual-machine:/home/linger/tslib/tslib# ./configure --host=arm--linux- --cache-file=arm-linux.cache --enable-inputapi=no PLUGIN_DIR=/usr/local/arm/tslib/plugins -prefix=/usr/local/arm/tslib/ -host=arm-linux --cache-file=arm-linux.cache 2>&1 | tee conf_log
root@linger-virtual-machine:/home/linger/tslib/tslib# make 2>&1 | tee make_log
root@linger-virtual-machine:/home/linger/tslib/tslib# make install
make的时候遇到这个error并找到了答案:undefined reference to rpl_malloc。
root@linger-virtual-machine:/home/linger/tslib/tslib# cd /usr/local/arm/tslib/etc/
root@linger-virtual-machine:/usr/local/arm/tslib/etc# gedit ts.conf
将module_raw 前面的“#”和“空格”去掉,保存退出。
- 将编译完的文件夹拷贝到U盘。
- 开发板插上电源,开启板子,连上串口线(如果是USB转串口,先装好驱动,我用的是驱动精灵装的)。
开启SecureCRT,连上板子,回车就会有命令行。
插上U盘。
[root@FORLINX6410]# mount /dev/sda4 /mnt/
[root@FORLINX6410]# cd /mnt/
[root@FORLINX6410]# tar xvzf tslib.tar
[root@FORLINX6410]# cd tslib/
[root@FORLINX6410]# cp bin/* /bin/
[root@FORLINX6410]# cp etc/* /etc/
[root@FORLINX6410]# cp lib/* /lib/ -rf
[root@FORLINX6410]# vi /etc/profile
-
在开发板的/etc/profile文件中添加一下配置。
export USER LOGNAME PS1 PATH
export TSLIB_TSDEVICE=/dev/input/event2
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
- 重启开发板,运行命令:ts_test 会看到触屏矫正界面,测试成功就说明安装成功了。
[root@FORLINX6410]# ts_test
另外:如果测试不成功,很有可能是配置的路径 /dev/input/event2 有错误。这个路径是因板子而异,有可能是/dev/event0之类的,自行ls /dev 和 ls /dev/input 把各个设备都测试一下。测试成功就说明OK了。
网友评论