tslib 库的移植

转载 2011年01月23日 11:42:00

 

              下在tslib库(tslib 库是一个开源的触摸屏驱动程序,现在一般都利用这个程序)

      下面我们一起来研究一下具体的移植过程:

          

              A : 下载tslib 库 : tslib-1.4.tar.gz源码包

                    下载地址:  http://blog.chinaunix.net/u2/75270/showart_1793535.html

           B:  解压缩包:

                      tar -xzvf tslib-1.4.tar.gz

                      cd   tslib-1.4

            C: 配置Makefile

             ./configure --host=arm-linux -prefix=$PWD/../Arm-output/tslib

--enable-inputapi=no  ac_cv_func_malloc_0_nonnull=yes

 

      其中ac_cv_func_malloc_0_nonnull=yes 是为解决如下编译错误设置的
         ts_test.o: In function `main':
         ts_test.c:(.text+0x1d8): undefined reference to `rpl_malloc'
         fbutils.o: In function `open_framebuffer':
         fbutils.c:(.text+0xa20): undefined reference to `rpl_malloc'
         collect2: ld returned 1 exit status
         --enable-inputapi=no. 是为了解决运行中提示 ts_open:Inappropriate ioctol for devic 它表示即不使用ioctl来控制触摸屏。

    

     D: 编译安装

            make

            make install -strip

     tslib只是应用级的一个程序库,只是用来封装底层的触摸屏驱动的操作,以一个统一接口来给其它应用程序使用.因此tslib正常工作的前提是开发板上的触摸屏驱动能正常工作.另外触摸屏的效果往往需要在LCD上显示,因此tslib也需要开发板上的FrameBuffer驱动正常工作.

     
   ARM开发板常见的触摸屏驱动分为两大类,一类是模拟HP 3600的调用接口.这类驱动一般使用/dev/h3600_tsraw 的设备结点文件.早期开发板一般都是这一类,
   另外一类是采用Linux 2.6 输入设备接口的驱动。这类驱动会将触摸屏驱动设计成一个标准输入事件设备(linux input layer event interface),所有事件输入设备结点命名为/dev/input/eventN (N>=0).
 一般都是/dev/input/event0.而且驱动向应用程序发送标准的struct event 结构。
  ARM板使用哪种驱动接口.要参考产商的文档或直接查看已经成功的程序使用哪一个
 
 F: 修改触摸屏配置文件
    tslib程序在运行的时候是通过打开/关闭ts.conf 配置文件来配置相应的文件,根据我们板子的实际需求我们修改如下:
 
     vim /nfsroot/tslib/etc/ts.conf
     

      #ts.conf template

       module_raw input
      #module_raw h3600

      module pthres pmin=1      // Pthres:    Tslib提供的触摸屏灵敏度门槛插件
      module variance delta=30  // Variance: Tslib提供的触摸屏滤波算法插件
      module dejitter delta=100 // Dejitter: Tslib提供的触摸屏去噪算法插件
      module linear            // Linear:    Tslib 提供的触摸屏坐标变换插

   
    G  tslib 环境变量的配置 
  
      关于环境变量的配置你可以写一个脚本,也可以添加到开机启动文件/nfsroot/etc/profile中.我们这里和QT-Embedded 的环境变量写成一个脚本文件 run.sh (你可以分两个阶段来配置)
 
   AA: 

      #export TSLIB_ROOT=/usr/local/tslib
      
export TSLIB_ROOT=/tslib
       #取决具体的设备驱动了,事件驱动用
      
export TSLIB_TSDEVICE=/dev/input/event0
      #h3600用如下配置
      #export TSLIB_TSDEVICE=/dev/h3600_tsraw
      #触摸屏定位文件保存位置
     
export TSLIB_CALIBFILE=/etc/pointercal
      #tslib配置文件内容
     
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
      #tslib 插件目录 
      
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
     
export TSLIB_CONSOLEDEVICE=none
      #LCD设备结点 
     
export TSLIB_FBDEVICE=/dev/fb0
      #把libts.so加入动态搜索路径

    

     QT库的支持

     export QTDIR=/qte-4.5.3
     export LD_LIBRARY_PATH=$QTDIR/lib:$TSLIB_ROOT/lib

   
      exit
 
 
 // 上面是第一段,你可以测试能不能运行,要是配置成功在开发板上会出现坐标矫正的程序。
 
  以下是第2阶段,你可以单独创建一个脚本放到你要运行的程序目录中
 
  BB: 
        export TSLIB_ROOT=/tslib
        #取决具体的设备驱动了,事件驱动用
        export TSLIB_TSDEVICE=/dev/input/event0
        #h3600 用如下配置
        #export TSLIB_TSDEVICE=/dev/h3600_tsraw
        #触摸屏定位文件保存位置
        export TSLIB_CALIBFILE=/etc/pointercal
        #tslib配置文件内容
        export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
        #tslib 插件目录
        export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
        export TSLIB_CONSOLEDEVICE=none
        #LCD 设备结点
        export TSLIB_FBDEVICE=/dev/fb0
        #把libts.so加入动态搜索路径
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

        #export QWS_KEYBOARD=USB:/dev/input/event1
        export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
        #export QWS_DISPLAY=LinuxFb:mmWidth45:mmHeight60:0
        #export QWS_SIZE=640x480
 
// 要运行的程序。
 
 ./QPlayer -qws

tslib库移植错误解决

触摸屏tslib库移植常见问题解决方案

Linux移植随笔:对tslib库的ts_test测试程序代码的一点分析

本文是作者对tslib库的ts_test.c文件进行分析的随笔,其实tslib的几个测试程序结构差不多,譬如ts_print.c和ts_print_raw.c等。 本文并没有涉及太多概念,也没有...

QT学习之路(一)————移植tslib库到开发板

这东西我做了好久, 也出现了很多问题,不把它写到博客上真的是对不起我自己,所以,我一做完就来写博客了! 注意:移植tslib库之前要先把开发板的屏幕驱动移植好,屏幕驱动的移植详见我的博客:http:/...

Linux移植随笔:对tslib库的ts_test测试程序代码的一点分析

Linux移植随笔:对tslib库的ts_test测试程序代码的一点分析
  • subfate
  • subfate
  • 2011年04月25日 11:17
  • 1526

移植tslib库出现selected device is not a touchscreen I understand

selected device is not a touchscreen I understand

smart210触摸屏tslib移植

  • 2017年09月24日 19:50
  • 3KB
  • 下载

移植tslib-1.4.doc

  • 2009年08月21日 09:44
  • 31KB
  • 下载

QT移植到Linux总结(一)tslib1.0

一、编译安装tslib-1.0 (1)下载tslib-1.0     源代码来自:http://sourceforge.net/projects/tslib.berlios/files/ (2)...

tslib移植说明

  • 2013年01月25日 10:21
  • 28KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tslib 库的移植
举报原因:
原因补充:

(最多只允许输入30个字)