交叉编译tslib (正确版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CLP_CSDNID/article/details/84987077

1、下载安装交叉编译器(编译器版本不限,需要与系统移植时的编译器保持一致即可)

2、下载tslib1.4

3、交叉编译tslib-1.4

下载的tslib-1.4.tar.gz放到/home/driver/ts/目录下

#cd /home/driver/ts

#tar zxvf tslib-1.4.tar.gz

#cd tslib

#export CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc //设定C编译器

#export CXX=/usr/local/arm/4.3.2/bin/arm-linux-g++ //设定C++编译器(如果之前有设定交叉编译器的路径放到/etc/profile下,那这两点可以忽略)

(这两步必须先于 ./autoge.sh 执行,不然使用的时默认的编译器即X86_64下的编译器,生成的库文件都是X86下的可执行文件,可以通过”file filename“命令查看filename文件的属性,编译过程不会出错,但是后面移植Qt的时候会到时tslib永远无法加载进去。)

#./autogen.sh (如果运行有错误则需要安装autoconf、automake、libtool (如yum installautoconf))

#echo"ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache //避免检查ac_cv_func_malloc_0_nonnull

# ./configure --host=arm-linux --cache-file=arm-linux.cache-prefix=/usr/local/tslib

#make

#make install (安装在/usr/local/tslib里面)

安装完后建议到 -- prefix 指定的路径去 通过 file  filename查看一下生成的文件是不是 ARM平台的运行文件

4、配置环境变量

#vi/usr/local/tslib/etc/ts.conf (修改ts.conf) 最后内容如下:

module_raw input /

/前面的空格记得去掉,没去掉也是不能用的

module pthres pmin=1

module variance delta=30

module dejitter delta=100

module linear

(以下是在对应的开发版上使用,)

将上面整个/usr/local/tslib的内容下载到开发版里的对应路径下在(/usr/local/)

配置环境变量 :vi /etc/profile, 添加下面几行(/etc/profile指的是开发板根目录的路径)

export TSLIB_ROOT=/usr/local/tslib

export TSLIB_TSDEVICE=/dev/event3 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 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

根据insmod ts.ko 后,ls /dev/event*,看新添加的event*是指哪个。我的是指event3;

同理,/dev/fb0 指的是lcd驱动insmod 后,新添加的fb*,我的是fb0,;

LD_LIBRARY_PATH指的是指定动态库的路径。

Source /etc/profile

可以把/usr/local/tslib/bin 里的ts_calilbrate 跟ts_test 拷贝到/bin 里

运行ts_calibrate 跟ts_test将会运行触摸屏校准测试
 

猜你喜欢

转载自blog.csdn.net/CLP_CSDNID/article/details/84987077