tslib-1.4的安装与移植

1.下载 tslib-1.4

2、解压安装tslib

           # tar -zxvf tslib-1.4.tar.gz
           # cd tslib
           # ./autogen.sh
           echo "ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache
           # ./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no -prefix=/home/hero/tslib
          # make
          # make install

      说明:

      (1)红色的“0”是数字0;(2)/home/hero/tslib表示tslib安装后的路径

     3、修改ts.conf内容

      # vi /usr/local/tslib/etc/ts.conf

          module_raw input
          module pthres pmin=1
          module variance delta=30
          module dejitter delta=100
          module linear

      然后将整个tslib文件夹,下载到开发板的对应路径下(/usr/local)。

     4、开发板配置环境变量

      通过超级终端,# vi /etc/profile

      添加如下内容(绿色):

          export TSLIB_ROOT=/usr/local/tslib
          export TSLIB_TSDEVICE=/dev/input/event0    指定触屏设备
          export TSLIB_CALIBFILE=/etc/pointercal   
指定触摸屏校准文件pintercal的存放位置
          export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf   指定TSLIB配置文件的位置
          export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts   指定触摸屏插件所在路径
          export TSLIB_FBDEVICE=/dev/fb0   指定帧缓冲设备
          export TSLIB_CONSOLEDEVICE=none   设定控制台设备为none,否则默认为/dev/tty,这样可以避免出现open consoledevice: No such file or directory KDSETMODE: Bad file descriptor的错误
          export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

     另外,要确保在/dev/input/目录下有event0设备文件,在/dev/目录下有fb0设备文件,如果没有,在执行下面./ts_calibrate的时候,会报出“open *: No such file or directory”的错误,这时,我们需要手动创建设备文件:

          # mknod /dev/input/event0 c 13 64
          # mknod /dev/fb0 c 29 0

     5、执行测试命令

      重启开发板,在 /usr/local/tslib/bin 目录下,输入./ts_calibrate,出现tslib的触摸屏五点校准画面,至此,tslib的安装移植成功完成。


./autogen.sh: 4: autoreconf: not found
  是在不同版本的 tslib 下执行 autogen.sh 产生。它们产生的原因一样,是
因为没有安装
  automake 工具,      (ubuntu 8.04)用下面的命令安装好就可以了。
  sudo apt-get install autoconf automake libtool


./configure --host=arm-linux --prefix=/home/smb/tslib ac_cv_func_malloc_0_nonnull=yes --enable-inputapi=no
其中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 device,它表示
即不使用ioctl来控制触摸屏。但是我在几个板没有碰到这样提示--enable-inputapi=no


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值