6410上的TSLIB移植问题

armeasy 2010-10-26 08:29:10
在友善的6410开发板上,友善已经将TSLIB移好了,但是不提供TSLIB的源代码,我需要自己
移植一下TSLIB,但是一直没有移植成功,在这里请教各位高手:

具体移植步骤如下:

一:下载TSLIB1.4版本解压,通过如下方式配置:
./configure --prefix=/usr/local/lib/ --host=arm-none-linux-gnueabi ac_cv_func_malloc_0_nonnull=yes
make
make install

二:修改etc下的ts.conf为下面内容:
module_raw input
module_raw h3600
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear

三:将安装目录下的bin,etc,include,lib四个文件夹打包,将打包的文件
拷备到开发板的文件系统,解压到文件系统的/usr/local目录

四:修改开发板文件系统的/etc/profile文件,添加环境变量如下:
export TSLIB_ROOT=/usr/local
export LD_LIBRARY_PATH=/usr/local/lib
export TSLIB_TSDEVICE=/dev/touchscreen
export TSLIB_CONFFILE=/usr/local/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0

重启机器,进入TSLIB校屏界面,依次点五个点,发现点得非常的轻就有反应了,
很容易点一个点时被认为点了两个点,而且点完后在/etc下没有生成校准文件。

进入系统后执行/usr/local/bin下的ts_calibrate,ts_test文件都没有反应。
好像有时改得可以在这里校屏了,但是每次点下采样的值都是一样的,根本
无法校准。

我发现网上说TSLIB_TSDEVICE需要设置为/dev/touchscreen/下的某个文件,如
event0等,但是在我/dev下就只有一个touchscreen文件。

不知是什么原因造成的?为什么会无法校屏呢?
...全文
1176 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yinjian167 2011-04-02
楼主问题有没有解决啊?
回复
ktg9919 2011-03-24
楼主问题可以参考这篇文章
http://blog.sina.com.cn/s/blog_639732860100olqo.html
回复
lingxiang0614 2011-03-17
可以到 input_raw.c函数中
有个check_fd ,可以通过查看打印信息看哪里出错了
也可以直接屏蔽掉check_fd的检测,直接进行下一步。
回复
chenxi996 2010-12-21
tslib1.4移植到6410开发板,使用/dev/touchscreen,触摸无反应,请问遇到报“mini6410-ts:touch event buffer full”错误的情况吗?
回复
armeasy 2010-10-27
回pottichu:使用cat /proc/bus/input/devices命令后什么也没有显示;

回l2y3n2:内核里面input device的event接口打开?

使用友善自己的TSLIB,只在文件系统里面有,没提供源代码,是可以校屏的。

说明驱动是正常的吧?
回复
l2y3n2 2010-10-27
内核里面input device的event接口打开
回复
pottichu 2010-10-27
cat /proc/bus/input/devices
看看哪个是你的 ts 设备。

一般会对应
/dev/input/event?

如果这些没有的话,可能你的触摸平驱动并不完整。
回复
armeasy 2010-10-26
补充:

将ts.conf里面的module_raw h3600屏掉后,进入校屏界面时触摸点它自动就晃
了一圈,然后就进入了QT的欢迎界面,点击触摸屏没有反应。进入/usr/local/
bin下执行./ts_calibrate,屏上有校准界面出来但是没有光标,终端打印如下
信息:
xres = 480, yres = 272
selected device is not a touchscreen I understand
Took 4 samples...
Top left : X = -9004812 Y = 1
Took 4 samples...
Top right : X = -9004812 Y = 1
Took 4 samples...
Bot right : X = -9004812 Y = 1
Took 4 samples...
Bot left : X = -9004812 Y = 1
Took 4 samples...
Center : X = -9004812 Y = 1
ts_calibrate: determinant is too small -- 0.000000
Calibration failed.
执行./ts_test时,测试界面也出现了,中间那个十字架一直在闪,终端提示如下
信息:
selected device is not a touchscreen I understand
回复
相关推荐
发帖
Linux_Kernel
创建于2007-08-27

4152

社区成员

Linux/Unix社区 内核源代码研究区
申请成为版主
帖子事件
创建了帖子
2010-10-26 08:29
社区公告
暂无公告