新闻中心

EEPW首页 > 嵌入式系统 > 牛人业话 > 嵌入式linux新手入门手记-TSLIB和支持USB接口单点触摸屏

嵌入式linux新手入门手记-TSLIB和支持USB接口单点触摸屏

作者:时间:2015-08-21来源:网络收藏

  kernel已经内置对于普通USB单点触摸屏的支持,不需要修改程序,只要在/arch/arm/config/am335x_evm_defconfig中将相应的编译条件设置好就可以:

本文引用地址:http://www.eepw.com.cn/article/279081.htm

  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--gnueabihf-gcc

  export CXX=arm--gnueabihf-g++

  在tslib目录下执行./autogen.sh,自动生成Makefile文件,然后执行./configure --prefix=/usr/tslib --host=arm--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 _FBDEVICE=/dev/fb0 #linux显示设备名

  export _TSDEVICE=/dev/event0 #linux触摸屏输入设备名

  export _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的支持,并对这二者的源程序进行修改。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux相关文章:linux教程




关键词: linux TSLIB

评论


相关推荐

技术专区

关闭