原创 tslib-1.4交叉编译详细笔记

2009-9-17 01:47 6114 11 11 分类: MCU/ 嵌入式

tslib-1.4交叉编译详细笔记<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


注:在此之前,请确保你的触摸屏驱动已经移植完成。


1、环境介绍


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


(2)、硬件平台:mini2440


(3)、交叉编译器:arm-linux-gcc-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />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的资料来源于网络,资料不是我的,我得到的是经验。“取之于网络,还之于网络”,正是由于无数热心网友的无私奉献,我才能分享他们的资料,得到进步。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
11
关闭 站长推荐上一条 /3 下一条