tslib1.4安装与使用

一、实验环境

硬件: JZ2440开发板

内核版本: Linux-2.6.22.6

交叉工具链:  gcc-3.4.5-glibc-2.3.6

tslib版本: tslib-1.4


二、安装

1)  运行tslib自带的脚步文件设置环境

             ./autogen.sh

2)  产生一个cache文件arm-linux.cache,欺骗configure

             echo  "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache      //0是数字零

3)  创建一个目录用于存放tslib的一下安装文件,可以根据需求自行创建,然后用--prefix指定

     (作者在tslib当前目录下创建了一个release目录)

             mkdir   release

             ./configure  --host=arm-linux  --cache-file=arm-linux.cache  --prefix=$(pwd)/release

4)  编译

            make

      虽然有了第二步的欺骗,但是还是没有欺骗过configre,最终还是出现了错误如下图:

tslib1.4安装与使用_第1张图片

      没办法了只有用恨招了,直接把顶层目录下的config.h.in中的以下语句给屏蔽了

      /* Define to rpl_malloc if the replacement function should be used. */
      #undef malloc

      然后重新编译就ok了

5)  安装

           make  install

      安装完后就可以在release目录下看到以下内容


6)  将release目录下的内容拷贝到文件系统中

            cp  *  -rfd   /nfs/sysfs/fs_s3c2440


三、 使用

由于tslib依赖于触摸屏和屏幕所以在测试tslib之前的先安装触摸屏和lcd屏幕的驱动,同时还得修改和设置

一些环境变量


1)  修改

将/etc/ts.conf中的第一行的“#”和空格去掉即:

#  module_raw input

改为

module_raw input


2)  导出环境变量

环境变量的导出有两中方式,一种是等系统起来后直接在终端中输入一下各个命令回车,然后在运行测试程序,但是这种

方式只能等到系统起来之后,如果想在系统启动时也将测试程序启动起来就得使用第二种方式。这种方式是将以下内容写

入到一个shell脚步中,系统启动时调用shell脚本来导出这些变量。注意shell的调用要使用 ".  或 source"方式。

export TSLIB_TSDEVICE=/dev/event0              //指定触摸屏设备
export TSLIB_CALIBFILE=/etc/pointercal           //指定校准文件存放路径
export TSLIB_CONFFILE=/etc/ts.conf               //指定tslib配置文件的位置
export TSLIB_PLUGINDIR=/lib/ts                      //指定触摸屏插件的位置

export TSLIB_CONSOLEDEVICE=none           //设定控制台设备为none,否则默认为/dev/tty
export TSLIB_FBDEVICE=/dev/fb0                  //指定帧缓存设备


3)  运行测试用例

         ./ts_test

         ./ts_calibrate 

你可能感兴趣的:(S3C2440实践)