交叉编译tslib1.4过程详述,配合QT4.5.3成功在Mini2440运行成功

本文详细介绍了如何在Ret Hat Enterprise 5环境下,使用arm-linux-gcc-4.3.2交叉编译工具链,将tslib-1.4和QT4.5.3移植到友善之臂Mini2440开发板上。移植过程包括设置交叉编译环境、理解tslib的工作原理、校准触摸屏和处理校准后的数据更新。此外,还讨论了在移植过程中遇到的问题及解决方案,如动态链接库的配置、环境变量设置等。
摘要由CSDN通过智能技术生成

移植tslib-1.4所遇到的问题分析与总结(elephant半原创:在移植过程中参考了一些网友的资料,现在结合我遇到的问题分析一下移植过程)

一:移植环境

1:主机环境:Ret Hat Enterprise 5

2: 交叉工具链:arm-linux-gcc-4.3.2

3: 开发平台:友善之臂mini2440+统宝3.5寸屏

4:所需的软件资源:

tslib-1.4.tar.gz  qt-x11-opensource-src-4.5.3.tar.gz   qt-embedded-opensource-src-4.5.3.tar.gz

QT的移植是参考网上找到一篇较好的移植手册,但是此手册的作者不知道是无心之失还是咋的,给的资料有所保留。不过思路比较清晰以及解析的比较详细,还是非常值得参考的)

参照的文章链接地址为:http://wenku.baidu.com/view/242c91f24693daef5ef73d82.html

 

二:交叉编译tslib-1.4

为什么要移植tslib1.4呢?

在移植好触摸屏的驱动后(在移植内核的时候完成),一般都要移植一个tslib来配合,在用户层对触摸屏的数据进行滤波和矫正,同时也可以给应用程序一个统一的接口,很多GUI都支持tslib的接口。我移植到开发板的QT版本是QT4,所以用tslib-1.4进行触摸屏校正,因为QT4只是支持tslib-1.4(目前最新版),QT2支持的是tslib-1.3版本,所以在移植过程中先要看清楚自己移植的是什么版本。

 

简单描述tslib校正触摸屏原理:

   Tslib是触摸屏驱动和应用层之间的适配层,它从触摸屏驱动处获得原始的设备坐标数据,通过一系列的去噪、去抖坐标变换等操作,来去除噪声并将原始的设备坐标转换为相应的屏幕坐标。通过tslib/src/tslib.h文件可以看出,在tslib中为应用层提供了2个主要的接口ts_open(),ts_close();ts_read()ts_read_raw(),其中ts_read()为正常情况下的接口,ts_read_raw()为校准情况下使用的接口。从tslib默认的ts.conf文件中可以看出包括如下基本插件:(强烈建议通读这个配置文件并理解这个文件所写的内容)

   pthres Tslib 提供的触摸屏灵敏度门槛插件;

   variance Tslib提供的触摸屏滤波算法插件;

   dejitter Tslib 提供的触摸屏去噪算法插件;

   linearTslib 提供的触摸屏坐标变换插件。

 

tslib 从触摸屏驱动采样到的设备坐标进行处理再提供给应用端的过程大体如下:

 

   raw device --> variance --> dejitter --> linear --> application
    module         module       module      module

再来看看ts_calibrate主要做了哪些事情,校准情况下,tslib对驱动采样到的数据进行处理的一般过程如下:
   1。读取屏上5个点的坐标(Top Left,Top Right,Bottom Left,Bottom Right,Center),在进行一系列的变换,取样的5个点,实际上是包含3个不同的X值,3个不同的Y值。和scaling 值一共7个值,一起保存到/etc/pointercal.(触摸屏校准文件)

   2.这个/etc/pointercal文件主要是供linear插件使用。而我们每次的触摸的操作都进行多次触摸坐标变换。

 

至此已经找到解决问题的大体的方法了。在校准触摸屏后只需及时的让linear插件再次读取新的/etc/pointeracal文件,这样新校准的坐标信息就及时的更新到上层应用。下面就要考虑具体实现的问题了。

1。从linear.c文件可以看出在该模块初始化时读取了/etc/pointercal文件。只要在

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值