zoukankan      html  css  js  c++  java
  • tslib-1.4移植(转)

    转自:http://blog.163.com/zhuandi_h/blog/static/180270288201222310291262/

    环境:
    host:Ubuntu11.10
    target:Omap35X EVm 
    交叉编译链:4.3.2,Sourcery G++ Lite 2008q1-126 for ARM GNU/Linux 
    tslib源代码:tslib-1.4.tar.gz
    tslib安装目标路径:/usr/local/arm-linux/tslib1.4

    安装步骤:


    1.准备工作
    确保以下软件已安装

    # apt-get install autoconf(或autoconf2.13)
    # apt-get install automake
    # apt-get install libtool


    2.下载
    http://download.csdn.net/detail/scholar_fish/4167788
    下载版本为tslib-1.4.tar.gz

    3.配置
    解压源代码tslib-1.4.tar.gz,并进入源代码文件夹

    # 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-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no --prefix=/usr/local/arm-linux/tslib1.4

    注意,prefix选项更换为你的安装路径。

    4.编译

    # make


    5.安装

    # make install

    编译生成的库,头文件等都拷贝至prefix制定的路径中。

    6. 修改ts.conf内容
        打开安装路径下的/etc/ts.conf文件,修改其内容。 

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


       搜索定位至#module_raw input,把行首的注释符去掉,但要注意行首不要留有空格,即文字是顶格的,不然之后会出现段错误(segmentational fault)。

    7.移植至开发板
    将安装路径下的整个tslib文件夹,下载至开发班的上,我存放的路径为/usr/local

    8. 设置开发板环境变量
    通过超级终端, 打开环境变量文件/etc/profile

    # vi /etc/profile

    添加如下内容:

    export TSLIB_ROOT=/usr/local/tslib
    export TSLIB_TSDEVICE=/dev/input/event1

    export QWS_MOUSE_PROTO=tslib:/dev/input/event1
    export TSLIB_CALIBFILE=/etc/pointercal  
    export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf   
    export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts 
    export TSLIB_FBDEVICE=/dev/fb0  
    export TSLIB_CONSOLEDEVICE=none  
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

    其中,TSLIB_ROOT更换为自己实际存放的路径;
    另外,TSLIB_TSDEVICE 和QWS_MOUSE_PROTO这两项需要查看自己的板子的触摸屏设备对应/dev/input/下那个文件

    9.执行测试命令
     重启开发板(使系统读取profile环境变量),进入tslib/bin目录,执行触摸屏校准程序

    # ./ts_calibrate

    如果出现tslib的触摸屏五点校准画面,至此,tslib的安装移植成功完成。
    也可执行此目录下其他的程序来体验触摸屏!

    10.出错记录
    (1)第4步make时出现以下错误:

    ts_test.o: In function `main':
    ts_test.c:(.text+0x1d4): undefined reference to `rpl_malloc'
    fbutils.o: In function `open_framebuffer':
    fbutils.c:(.text+0x9f4): undefined reference to `rpl_malloc'
    collect2: ld returned 1 exit status
    make[2]: *** [ts_test] 错误 1
    make[2]:正在离开目录 `/home/zhuandi/programs/tslib1.4/tslib/tests'
    make[1]: *** [all-recursive] 错误 1
    make[1]:正在离开目录 `/home/zhuandi/programs/tslib1.4/tslib'
    make: *** [all] 错误 2

    原因:直接copy了网络上的以下配置参数,参数中的”malloc_0 _nonnull"中多了一个空格。

    # ./autogen.sh
    # echo "ac_cv_func_malloc_0 _nonnull=yes">arm-none-linux-gnueabi.cache

    解决:删除空格即可。

    (2)第9步测试校准程序或其他程序时出现错误:egmentaton fault
             原因:修改ts.conf时去掉注释符号时,留下空格。
             解决:删除空格即可。

    (3)第9步测试校准程序或其他程序时出现错误:触摸屏能显示,但对其操作无反应。
             原因:网络上一参考博文的环境配置,其中没有export QWS_MOUSE_PROTO=tslib:/dev/input/event1 
             解决:环境变量加上export QWS_MOUSE_PROTO=tslib:/dev/input/event1 ,重启板子即可。

  • 相关阅读:
    455. Assign Cookies
    [leetcode]Linked List Cycle
    *[topcoder]GooseTattarrattatDiv1
    [topcoder]FoxAndChess
    *[topcoder]TheTree
    *[topcoder]LittleElephantAndBalls
    *[topcoder]HexagonalBoard
    *[topcoder]AstronomicalRecords
    *[topcoder]LittleElephantAndIntervalsDiv1
    [topcoder]IncrementAndDoubling
  • 原文地址:https://www.cnblogs.com/chd-zhangbo/p/5720068.html
Copyright © 2011-2022 走看看