利用tslib为MiniGui提供触摸屏的IAL引擎(3)----tslib的交叉编译
来源:互联网 发布:小米云服务擦除数据 编辑:程序博客网 时间:2024/06/03 02:26
tslib的交叉编译
Tslib的官方下载地址为一个CVS服务器,下载方法为:
[root@localhost]#export CVSROOT=:pserver:cvs@pubcvs.arm.linux.org.uk:/mnt/src/cvsroot
[root@localhost]#cvs login
[root@localhost]#cvs co tslib
获得Tslib的源代码后,需要首先进行编译,下面以Tslib 1.3为例介绍Tslib的编译过程:
[root@localhost]#cd ../tslib1.3
//指定交叉编译工具
[root@localhost tslib-1.3]# export CC= /opt/host/armv4l/bin/armv4l-unknown-linux-gcc
//生成config文件
[root@localhost tslib-1.3]#./autogen.sh
[root@localhost tslib-1.3]#export PATH=/opt/host/armv4l/armv4l-unknown-linux
//避免检查ac_cv_func_malloc_0_nonnull
[root@localhost tslib-1.3]#echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
//配置目标机、缓冲、安装路径
[root@localhost tslib-1.3]# ./configure --host=armv4l-unknown-linux --cache-file=arm-linux.cache --prefix=/opt/host/armv4l/armv4l-unknown-linux/tslib --sysconfdir=/etc
****************************************************
在make之前,为了支持触 摸屏,打开src/ts_read_raw.c文件,查看触摸屏驱动程序数据结构,看与ts_read_raw.c结构中的哪个一样,就将代码中的 char *defaulttseventtype="UCB1x00"; 修改为 自己板子上对应的驱动结构。
因为我的驱动对应的是h3600_ts_event结构
typedef struct {
unsigned short pressure;
unsigned short x;
unsigned short y;
unsigned short pad;
} TS_RET;
所以修改为:
char *defaulttseventtype="H3600";
************************************
如果不修改源代码,也可以在后面的测试中重新指定环境变量
export TSLIB_TSEVENTTYPE=H3600 //通过这个对tslib中的设备结构体定义
*****************************************************
如果你触摸屏驱动程序支持ioctl操作,上面的configure操作中的--enable-inputapi=no你可以删除。
然后就可以make了
*************************************************
[root@localhost tslib-1.3]# make
[root@localhost tslib-1.3]# make install
make 时候在fc6下出现的错误信息如下:
only absolute run-paths are allowed错误
解决办法:要修改/tslib/plugins/Makefile里面找rpath
将LDFLAGS :=$(LDFLAGS) -rpath $(PLUGIN_DIR)
修改为:
LDFLAGS :=$(LDFLAGS) -rpath `cd $(PLUGIN_DIR) && pwd`
这样就可以在/opt/host/armv4l/armv4l-unknown-linux/tslib目录下看到相关的应用程序、共享库、配置文 件等了,需要说明的是在嵌入式中,由于触摸屏的种类多样、质量不一,采用Tslib的参考配置往往无法获得较好的触摸屏触摸效果,同样需要经过大量的测试 才能得到满意的配置参数,恶劣情况下,甚至需要对Tslib的算法进行进一步的优化。
转载注明出处:http://hi.baidu.com/luv%5Fresplendent/modify/blog/248690ada8cd270f4b36d6ff
- 利用tslib为MiniGui提供触摸屏的IAL引擎(3)----tslib的交叉编译
- 利用tslib为MiniGui提供触摸屏的IAL引擎(1)---MiniGUI IAL简介
- 利用tslib为MiniGui提供触摸屏的IAL引擎(6)----改写IAL引擎
- 利用tslib为MiniGui提供触摸屏的IAL引擎(4)---tslib的移植到目标板
- 利用tslib为MiniGui提供触摸屏的IAL引擎(2)---tslib 的 API 接口介绍
- 利用tslib为MiniGui提供触摸屏的IAL引擎(5)----Tslib的环境变量、配置文件等的分析
- minigui+tslib编译全过程(触摸屏)转
- minigui+tslib交叉编译终极教程
- Tslib的编译和触摸屏测试
- Tslib的编译和触摸屏测试
- Linux下tslib交叉编译的问题
- minigui增加tslib触摸屏响应
- Qt5.3.0的移植安装与测试(交叉编译,用于arm,支持tslib触摸屏)
- qt触摸屏的适配层tslib
- 一线触摸屏tslib的移植
- minigui+tslib编译全过程(3)
- TSLIB 的编译
- 工作笔记——Tslib的编译和触摸屏测试
- 利用tslib为MiniGui提供触摸屏的IAL引擎(4)---tslib的移植到目标板
- Delphi实现直线和圆的最小二承法拟合
- 如何手动创建oracle数据库(完整版)
- AJAX技术
- 品尝 GNU Prolog (3)
- 利用tslib为MiniGui提供触摸屏的IAL引擎(3)----tslib的交叉编译
- codeSmith实现ExtJS中Grid代码生成
- 自动适应输入内容高度的TextBox控件 (转)
- TWaver Flex谍照
- 利用tslib为MiniGui提供触摸屏的IAL引擎(2)---tslib 的 API 接口介绍
- “云计算”的基本原理和概念
- 利用tslib为MiniGui提供触摸屏的IAL引擎(1)---MiniGUI IAL简介
- [转]我的深圳面试体验--艾默生/西门子/华为/中兴/索尼/富士施乐/长城国际/ 马士基/SGS/宜家/
- 边学边用C语言