kernel现已内置关于一般USB单点接触屏的支撑,不需求修正程序,只要在/arch/arm/config/am335x_evm_defconfig中将相应的编译条件设置好就可以:
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
删去其他的接触屏编译选项,然后从头编译kernel即可。
下载tslib:git clone http:/github.com/kergoth/tslib,经过这个网站下载的tslib现在是1.6.0版别;
装置autoconf东西:sudo apt-get install autoconf automake libtool;
设置穿插编译环境变量:export CC=arm-linux-gnueabihf-gcc
export CXX=arm-linux-gnueabihf-g++
在tslib目录下履行./autogen.sh,主动生成Makefile文件,然后履行./configure –prefix=/usr/tslib –host=arm-linux-gnueabihf ac_cv_func_malloc_0_nonnull=yes。
这儿–prefix指定编译后的tslib库装置的途径,-host指定穿插编译东西。
上述没有过错后,履行make -j4穿插编译tslib,成功后履行make install,tslib将装置到/usr/tslib目录下;
将/usr/tslib目录下的一切文件拷贝到am335x的nfs文件体系中的/usr/tslib目录下,并设置am335x的环境变量:
export T_ROOT=/usr/tslib #tslib装置途径
export TSLIB_FBDEVICE=/dev/fb0 #linux显现设备名
export TSLIB_TSDEVICE=/dev/event0 #linux接触屏输入设备名
export TSLIB_CALIBFILE=/etc/pointercal #接触屏校对数据文件
export POINTERCAL_FILE=/etc/pointercal #接触屏校对数据文件
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf #tslib装备文件
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts #tslib插件装置方位
export TSLIB_CONSOLEDEVICE=none #控制台设备
export PATH=$PATH:$T_ROOT/bin #装备tslib运用的装置途径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$T_ROOT/lib #lib的装载途径
export LD_PRELOAD=$T_ROOT/lib/libts.so #预装入tslib同享库
修正/usr/tslib/etc/ts.conf:
module_raw input #运用linux规范输入设备
module pthres pmin=1 #接触屏灵敏度插件设置
#module variance delta=30 #USB接触屏自带滤波,不运用这个模块
module dejitter delta=100 #接触屏去噪插件设置
module linear #接触屏线性滤波插件
从头启动am335x,然后运转/usr/tslib/bin/ts_print,在接触屏上滑动手指,超级终端上打印出接触的点的信息,接触屏以及tslib现已正常作业。
到这儿,am335x的根本渠道就现已可以正常作业了,后续需求将QT5.4.1移植到am335x渠道上。QT5.4.1的移植花了较多的时刻,一起也需求修正tslib和qt的较多源程序。
我将用多个章节来记载QT5.4.1的移植,以及参加tslib的支撑,并对这二者的源程序进行修正。