tekkamanninja's tslib-1.4 移植记录

在移植好触摸屏的驱动后,一般都要移植一个tslib来配合,在用户层对触摸屏的数据进行滤波和矫正,同时也可以给应用程序一个统一的接口,很多GUI都支持tslib的接口。对于tslib的基础知识和移植,网上google一下就是一大把,在这里我提供一些较好的网页,这些已是我此次移植的参考。

http://blog.chinaunix.net/u1/33412/showart_282396.html

http://blog.chinaunix.net/u2/61322/showart.php?id=1357736

http://www.mangbar.com/document/8a80809d19bd3a240119ccd45b90399e

http://www.shengfang.org/blog/p/20070912tslibdownload.php

http://www.directfb.com.cn/viewthread.php?tid=388&extra=page%3D1

http://blog.csdn.net/mzl626/archive/2008/04/18/2304169.aspx

http://ccoolloorr.blogspot.com/2008/06/tslib-13-touch-screen-lib.html

http://weibing.blogbus.com/logs/4723645.html

交叉编译场景分析(arm-linux)(二)--编译tslib

下面简要地介绍一下我的交叉编译过程:
(1)下载最新版本的tslib,目前最新的是1.4版,下载方法是通过CVS下载:

$export CVSROOT=:pserver:anoncvs@cvs.handhelds.org:/cvs
$cvs login
Logging in to :pserver:anoncvs@cvs.handhelds.org:2401/cvs
CVS password: anoncvs
cvs login: CVS password file /home/tekkaman/.cvspass does not exist - creating a new file
$cvs co apps/tslib

这样会在你的$PWD下建立一个apps文件夹,其中的tslib就是我们下载下来的源码。

(2)产生configure文件。

tekkaman@MAGI:~/working/tslib$ ./autogen.sh 
Libtoolize...libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: You should add the contents of the following files to `aclocal.m4':
libtoolize: `/usr/share/aclocal/libtool.m4'
libtoolize: `/usr/share/aclocal/ltoptions.m4'
libtoolize: `/usr/share/aclocal/ltversion.m4'
libtoolize: `/usr/share/aclocal/ltsugar.m4'
libtoolize: `/usr/share/aclocal/lt~obsolete.m4'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
Done.
Aclocal...Done.
Autoheader...Done.
Automake...configure.ac: installing `./install-sh'
configure.ac: installing `./missing'
plugins/Makefile.am: installing `./depcomp'
configure.ac:21: installing `./config.guess'
configure.ac:21: installing `./config.sub'
Done.
Autoconf...Done.
Now you can do ./configure, make, make install.

在执行./autogen.sh 的时候,有可能你会得到:

tekkaman@MAGI:~/working/tslib$ ./autogen.sh 
Libtoolize..../autogen.sh: line 4: libtoolize:找不到命令
Done.
Aclocal..../autogen.sh: line 7: aclocal:找不到命令
Done.
Autoheader..../autogen.sh: line 10: autoheader:找不到命令
Done.
Automake..../autogen.sh: line 13: automake:找不到命令
Done.
Autoconf..../autogen.sh: line 16: autoconf:找不到命令
Done.
Now you can do ./configure, make, make install.

说明有些工具你没有安装,我使用ubuntu8.10就会这样,碰到这种情况就可用新立得安装:autoconf、automake1.9和 libtool等软件包(新立得会自动添加其他需要的软件包)。

(3)产生缓冲文件和配置。

tekkaman@MAGI:~/working/tslib$ echo "ac_cv_func_malloc_0_nonnull=yes" >tekkaman_tslib.cache

tekkaman@MAGI:~/working/tslib$ ./configure --host=arm-9tdmi-linux-gnu --prefix=$PWD/build --target=arm-9tdmi-linux-gnu --disable-hp3600 --disable-arctic2 --disable-mk712 --disable-collie --disable-corgi --disable-ucb1x00 --disable-linear-h2200 --cache-file=tekkaman_tslib.cache --enable-inputapi=no

这里由于驱动是使用input子系统,所以很多都可以禁用,那些是针对别的特殊输出格式的驱动的。但是 --enable-inputapi=no一定要加。

(4)以上都顺利通过的话就可以make、make install了。

用以上的配置得到的编译好的代码在当前目录的build下。这由--prefix=决定。

之后就是将代码拷贝到根文件系统中(注意tslib依赖的动态链接库文件,记得要拷贝到根文件系统的/lib里),并修改/etc/porfile就好了。这些在我提供的网页里都有,我就不在这重复了。

如果忘了拷贝动态库,就会出现以下提示:

error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory

注意:如果使用了我移植的带滤波的触摸屏驱动,在ts.conf文件中可以屏蔽

#module pthres pmin=1
#module variance delta=30
#module dejitter delta=100

这三行,因使用内核滤波也可以保障稳定。但是再加上tslib的滤波也可以,效果更好。

以下是我做好的带有tslib的根文件系统,编译好的tslib代码在/lib下:

文件:rootfs.tar.bz2
大小:1366KB
下载:下载

以下是在mini2440上运行的情况:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要下载tslib-1.4.tar.gz文件,可以通过CSDN网站进行下载。以下是具体步骤: 1. 打开CSDN网站,并进入其下载页面。 2. 在搜索框中输入tslib-1.4.tar.gz进行搜索。 3. 在搜索结果中找到相关的下载链接,并点击进入。 4. 查看下载页面上的介绍和相关信息,确保下载的文件是正确版本。 5. 点击下载按钮,开始下载tslib-1.4.tar.gz文件。 6. 下载完成后,可以在下载文件的默认保存位置找到该文件。 7. 解压缩下载的tslib-1.4.tar.gz文件。可以使用解压软件,如WinRAR或7-Zip等工具进行解压。 8. 解压后,就可以使用tslib-1.4.tar.gz文件进行相关的操作,如安装、配置等。 需要注意的是,CSDN作为一个开放的技术社区,提供了众多开发者共享的资源,但要注意选择可信的下载链接和源,确保所下载的文件是没有被恶意篡改或携带病毒的。 ### 回答2: tslib-1.4.tar.gz是一个名为tslib的软件包文件,它可能包含了一些用于触摸屏驱动和应用程序开发的工具和库。CSDN是一个在线技术社区,它为开发者提供了许多技术相关的资源。 如果你想要下载tslib-1.4.tar.gz文件,你可以在CSDN的网站上搜索该文件的下载链接。首先,访问CSDN的官方网站,并输入“tslib-1.4.tar.gz下载”进行搜索。在搜索结果中,你可能会找到一些相关的帖子或文章,其中包含了这个文件的下载链接。 点击下载链接后,你将被重定向到一个下载页面,在该页面上你可以选择下载文件的保存位置。一般来说,大部分的下载页面都会提供一个下载按钮或者链接,你只需点击它即可开始下载。 一旦下载完成,你可以找到你的下载文件夹,其中应该已经有了tslib-1.4.tar.gz文件。你可以使用解压软件(例如7-Zip)来解压或打开这个文件。 总之,要下载tslib-1.4.tar.gz文件,你可以通过访问CSDN的网站并搜索相关链接来实现。希望这个回答对你有所帮助。 ### 回答3: 要下载tslib-1.4.tar.gz,首先需要访问CSDN网站。我们可以在浏览器中输入CSDN的网址(https://www.csdn.net/)进行访问。在CSDN网站上,可以找到各种技术资源和开源软件。在搜索框中输入tslib-1.4.tar.gz,并点击搜索按钮,即可找到相关的下载链接。 在下载链接所在的页面上,我们可以找到tslib-1.4.tar.gz的详细信息,如版本号、文件大小以及更新日期等。通常,下载链接会以文本、图片或按钮的形式展示。点击下载链接后,即可开始下载tslib-1.4.tar.gz文件。 下载过程中,我们可以选择保存文件的路径和名称。一般来说,选择一个易于找到和记忆的文件保存路径是很重要的。下载完成后,我们可以在选择的路径下找到tslib-1.4.tar.gz文件。 tslib-1.4.tar.gz是一个压缩文件,我们需要解压缩才能使用其中的内容。可以使用类似WinRAR或7-Zip等解压工具对文件进行解压。解压完成后,可以得到一个名为tslib-1.4的文件夹,里面包含了tslib-1.4的源代码和其他相关文件。 现在,我们可以根据具体需求,使用tslib-1.4.tar.gz文件中的内容了。如果是进行编程开发,需要将tslib-1.4的源代码导入到项目中,并进行编译和运行。如果是进行研究或学习,可以查看文件中的文档或示例代码,以获取更多关于tslib-1.4的使用说明。 总之,通过在CSDN上下载tslib-1.4.tar.gz,我们可以获取到这个开源软件的压缩文件,并通过解压缩获得源代码和其他资源,从而满足我们对tslib-1.4的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值