嵌入式应用开发(四)交叉编译tslib

 

 

  1. 下载tslib源码:https://pan.baidu.com/s/1wcfrdxyaF1uzFW8Xlud81A 密码 7qs9
  2. 拷贝到 /usr/local/src 下
  3. 解压:tar zxvf tslib.tar.gz
  4. 运行tslib自带的脚步文件设置环境:  ./autogen.sh

  5. mkdir tslib

  6. 产生一个cache文件arm-linux.cache,欺骗configure
     echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache      //这里的0是数字零

  7. ./configure  --host=arm-linux  --cache-file=arm-linux.cache  --prefix=/usr/local/tslib

  8. make

  9. make install

  10.  编译成功后在/usr/local/tslib位置产生/bin、/etc、/include、/lib 4个文件夹

  11. 修改/usr/local/tslib/etc/ts.conf 文件,删除其中内容,改为:
    module_raw input
    module pthres pmin=1
    module variance delta=30
    module dejitter delta=100
    module linear

    第一行是tslib从linux的输入设备读取数据时需要用到的模块,这里指定的模块为input,具体需要用到哪个模块,需要参考其他数据。
    第二行的pthres为Tslib提供的触摸屏灵敏度门槛插件。
    第三行的variance为Tslib提供的触摸屏滤波算法插件。
    第四行的dejitter为Tslib 提供的触摸屏去噪算法插件。
    第五行linear为Tslib提供的触摸屏坐标变换插件。

  12. 将/usr/local/tslib下的tslib文件夹拷贝到arm文件系统的/usr/local/tslib下

  13. /etc/profile 配置环境变量
    export TSLIB_ROOT=/usr/local/tslib/lib
    export TSLIB_TSDEVICE=/dev/event0
    export TSLIB_CALIBFILE=/usr/local/tslib/calibration
    export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf
    export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
    export TSLIB_CONSOLEDEVICE=none
    export TSLIB_FBDEVICE=/dev/fb0
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/tslib/lib

    TSLIB_ROOT 指明TSLIB库在开发板中的具体位置,要以实际情况为准。
    TSLIB_TSDEVICE 指明开发板触摸屏的设备节点文件名称。
    TSLIB_CALIBFILE 指明校正文件的位置,该文件在执行ts_calibrate之后自动生成。
    TSLIB_CONFFILE 指明TSLIB库的配置文件的具体位置,要以实际情况为准。
    TSLIB_PLUGINDIR 指明TSLIB库的插件模块的具体位置,要以实际情况为准。
    TSLIB_CONSOLEDEVICE 指明终端名称,none意为让系统自动匹配。
    TSLIB_FBDEVICE 指明开发板LCD的设备节点文件名称。
    LD_LIBRARY_PATH 是开发板系统的动态库链接路径

    提示:使用cat /dev/event0 ,然后点击触摸屏查看终端中是否出现乱码来判断这个设备节点是否链接的触摸驱动

  14. 校准触摸屏
    cd /usr/local/tslib/bin
    ./ts_calibrate
    运行校验,屏幕会出现5次小黑点让用户触摸,然后生成/etc/pointercal文件,并存5个小黑点值

  15. cd /usr/local/tslib/bin/
    ./ts_test   //运行测试,可以随意在触摸屏上绘制测试

  16. 对不在/etc下的pointercal链接(可选)
        ln -s /opt/tslib/etc/pointercal /etc/pointercal

  17. tslib有几个关键的文件有了他们触屏就能正常工作了:
    ts.conf                #这个按照网上的提示修改就好了
    ts                     #文件夹提供tslib自身工作所需的库
    ts_calibrate         #触屏校验程序,只要有上面的文件触屏校验程序就能运行了
    libts-0.0.so.0.1.1  , libts.la  #这两个文件是给Qt用的,有这两个文件Qt才能支持触屏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值