关闭

tslib-1.4交叉编译详细笔记

507人阅读 评论(0) 收藏 举报

1、环境介绍

(1)、主机:虚拟机下fedora9

(2)、硬件平台:mini2440

(3)、交叉编译器:arm-linux-gcc-4.3.2 

(4)、触摸屏适配层源码:tslib-1.4.tar.gz

    我的根文件系统在在主机上的路径是/opt/rootfs ,tslib-1.4.tar.gz解压到/opt/Qt目录下,解压后多了tslib目录。

2、交叉编译tslib-1.4

cd tslib

./autogen.sh  //用于生产configure

//配置成将生成的文件安装到/usr/local/tslib目录,

./configure--prefix=/usr/local/tslib/--host=arm-linuxac_cv_func_malloc_0_nonnull=yes --enable-inputapi=no  //

make

make install   //也可以用make install-strip 生成瘦身应用程序和库

编译和安装后在主机的/usr/local/tslib目录下看到编译好的程序和库。

注:如果你的触摸屏驱动支持ioctl操作,在./configure时不用“--enable-inputapi=no”,不支持就要添上,如果不添加无法运行程序,会有“ts_open:Inappropriate ioctol for device“、“ts_open: No such file or directory”这样的错误。

2、配置并加入到根文件系统

(1)、修改tslib/etc目录下的ts.conf文件,将module_raw input前面的注释去掉。

(2)cp –rfd /usr/local/tslib/* /opt/rootfs/usr/local

(3)、在根文件系统的etc/profile文件中加入运行tslib的环境变量

export TSLIB_ROOT=/usr/local

export TSLIB_TSDEVICE=/dev/input/event0

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf

export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

我将配置好的根文件系统下载到开发板后,曾多次出现“ts_open: No such file or directory”、“./ts_test: error while loading shared libraries: libts-0.0.so.0: cannot open shared object file: No such file or directory

”等错误,究其原因都是配置不仔细造成的,可以在终端使用env来查看tslib的环境变量的配置情况,然后配置好环境变量等。

3、测试

以上都配置好后,在终端进入到/usr/local/bin目录下,运行ts_test来测试触摸屏,运行ts_calibrate进入触摸屏的五点校准,到了这里是不是很高兴了?

4、参考资料

移植tslib-1.4的资料来源于网络,资料不是我的,我得到的是经验。“取之于网络,还之于网络”,正是由于无数热心网友的无私奉献,我才能分享他们的资料,得到进步。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:704553次
    • 积分:8442
    • 等级:
    • 排名:第2407名
    • 原创:139篇
    • 转载:396篇
    • 译文:2篇
    • 评论:47条
    文章分类
    最新评论