tslib Linux命令测试,Tslib的编译和触摸屏测试

本文详细介绍了如何在Linux环境下交叉编译Tslib,解决编译时的错误,以及如何进行触摸屏的测试。内容包括:1. 通过修改ts_read_raw.c并重新编译Tslib;2. 在目标设备上设置链接和环境变量;3. 使用ts_calibrate进行校准;4. 分析并解决ts_config加载模块时可能出现的错误。
摘要由CSDN通过智能技术生成

1.编译

前段时间非常的郁闷…因为在运行生成校准程序ts_calibrate时总是出现一个错误:ts_open:Inappropriate ioctol for device

后来无数折腾后经过nanfansky指点才知道是自己板子的触摸屏驱动不支持ioctl操作,狂汗…

重新编译tslib

cd tslib-1.3

export CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc //指定交叉编译器

./autogen.sh //生成config文件

export PATH=/usr/local/arm/3.4.1/bin:$PATH

echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache

./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no

vi src/ts_read_raw.c //修改内容如下

make

****************************************************

在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了

*************************************************

2.测试:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值