美文网首页
tslib移植到arm(ubuntu 14)

tslib移植到arm(ubuntu 14)

作者: QingLinger | 来源:发表于2017-03-11 20:24 被阅读0次

    前提:安装好了交叉编译环境,参照:安装arm-linux- 交叉编译工具(ubuntu 14)
    科普:Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。
    下载 Tslib(此链接非我用的文件,但我看文件目录基本一致,差别不会大)。

    1. 安装依赖。
      root@linger-virtual-machine:/home/linger# apt-get install automake
      root@linger-virtual-machine:/home/linger# apt-get install autogen
      root@linger-virtual-machine:/home/linger# apt-get install autoconf
      root@linger-virtual-machine:/home/linger# apt-get install libtool
      root@linger-virtual-machine:/home/linger# tar xvzf ./tslib.tar.gz
      root@linger-virtual-machine:/home/linger# cd tslib
      root@linger-virtual-machine:/home/linger/tslib# tar xvzf ./tslib--src.tar.gz
      root@linger-virtual-machine:/home/linger/tslib# cd tslib
    • 修改配置文件。
      root@linger-virtual-machine:/home/linger/tslib/tslib# vim /etc/bash.bashrc
    • 最后加入下面几句,保存退出。
      export PATH=$PATH:/usr/local/arm/4.3.2/bin
      export TOOLCHAIN=/usr/local/arm/4.3.2
      export TB_CC_PREFIX=arm-linux-
      export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-linux
    • 使配置文件生效,交叉编译tslib。
     root@linger-virtual-machine:/home/linger/tslib/tslib# source /etc/bash.bashrc
    
       root@linger-virtual-machine:/home/linger/tslib/tslib# ./autogen.sh
       root@linger-virtual-machine:/home/linger/tslib/tslib# echo "ac_cv_func_malloc_0 _nonnull=yes" >arm-linux.cache 
       root@linger-virtual-machine:/home/linger/tslib/tslib# ./configure --host=arm--linux- --cache-file=arm-linux.cache --enable-inputapi=no PLUGIN_DIR=/usr/local/arm/tslib/plugins -prefix=/usr/local/arm/tslib/ -host=arm-linux --cache-file=arm-linux.cache 2>&1 | tee conf_log
       root@linger-virtual-machine:/home/linger/tslib/tslib# make 2>&1 | tee make_log
       root@linger-virtual-machine:/home/linger/tslib/tslib# make install
    

    make的时候遇到这个error并找到了答案:undefined reference to rpl_malloc

     root@linger-virtual-machine:/home/linger/tslib/tslib# cd /usr/local/arm/tslib/etc/
    
       root@linger-virtual-machine:/usr/local/arm/tslib/etc# gedit ts.conf
    

    将module_raw 前面的“#”和“空格”去掉,保存退出。


    • 将编译完的文件夹拷贝到U盘。
    • 开发板插上电源,开启板子,连上串口线(如果是USB转串口,先装好驱动,我用的是驱动精灵装的)。

    开启SecureCRT,连上板子,回车就会有命令行。
    插上U盘。
    [root@FORLINX6410]# mount /dev/sda4 /mnt/
    [root@FORLINX6410]# cd /mnt/
    [root@FORLINX6410]# tar xvzf tslib.tar
    [root@FORLINX6410]# cd tslib/
    [root@FORLINX6410]# cp bin/* /bin/
    [root@FORLINX6410]# cp etc/* /etc/
    [root@FORLINX6410]# cp lib/* /lib/ -rf
    [root@FORLINX6410]# vi /etc/profile

    • 在开发板的/etc/profile文件中添加一下配置。
      export USER LOGNAME PS1 PATH
      export TSLIB_TSDEVICE=/dev/input/event2
      export TSLIB_CALIBFILE=/etc/pointercal
      export TSLIB_CONFFILE=/etc/ts.conf
      export TSLIB_PLUGINDIR=/lib/ts
      export TSLIB_CONSOLEDEVICE=none
      export TSLIB_FBDEVICE=/dev/fb0


    • 重启开发板,运行命令:ts_test 会看到触屏矫正界面,测试成功就说明安装成功了。
     [root@FORLINX6410]# ts_test
    

    另外:如果测试不成功,很有可能是配置的路径 /dev/input/event2 有错误。这个路径是因板子而异,有可能是/dev/event0之类的,自行ls /dev 和 ls /dev/input 把各个设备都测试一下。测试成功就说明OK了。

    相关文章

      网友评论

          本文标题:tslib移植到arm(ubuntu 14)

          本文链接:https://www.haomeiwen.com/subject/zjbogttx.html