- 积分
- 0
贡献0
飞刀0 FD
注册时间2016-4-8
在线时间0 小时

扫一扫,手机访问本帖 
|
转载自:http://www.mcuprimer.com/forum.php?mod=viewthread&tid=72&highlight=OK335
首先tslib背景:​
在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。
Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。
那既然它只是一个API,就是跨平台的,比如你可以移植到X86架构的平板上,也可以移植到ARM架构的开发板上,什么TQ2440,Mini2440,OK6410,OK335X,OK210等等,都是没有问题的,手上有了块OK335X,于是我也来试试。
1.我们要把这个库移植到ARM平台上,首先要交叉编译,不要跟我说你已经有交叉编译好的了!参考这个帖子,[img]http://www.mcuprimer.com/%22[url]http://cache.soso.com/img/img/e113.gif/%22[/img][/url]。
2.==,编译之前我们需要先装几个东东!后面执行脚本时,要用到的几个命令:
- $ sudo apt-get install autoconf
- $ sudo apt-get install automake
- $ sudo apt-get install libtool
[color=rgb(51, 102, 153) !important]复制代码
3.别忘了,你得要有这个库哇!tslib-1.4.tar.gz
4.好的!下载好了!move on...
放到你的目录下,自己找个目录,解压
 - $ tar -xvf tslib-1.4.tar.gz
[color=rgb(51, 102, 153) !important]复制代码
[color=rgb(51, 102, 153) !important]复制代码
[color=rgb(51, 102, 153) !important]复制代码
完了在当前目录下创建一个目录,build,用来存放我们编译出来的东西。
[color=rgb(51, 102, 153) !important]复制代码
go on...
- ./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix=/home/somebody/OK335X/Linux/tslib/build/
[color=rgb(51, 102, 153) !important]复制代码
注意-prefix这个选项就是刚才我们创建的那个目录,绝对路径哦!
接下来就是重点了:
[color=rgb(51, 102, 153) !important]复制代码

[color=rgb(51, 102, 153) !important]复制代码
完了!!!
去build目录下看看,是不是生成了一些文件:
PS:
1.当然你也可以像飞凌官方那样把上面的命令写成一个脚本:
我在最后才说这个,是不是有点坑啊!哈哈哈{:soso_e144:}
2.如果上面的某个操作无法往下执行,出现了种种错误,抱歉我这里一个帖子无法完全覆盖,请以度娘为准!我基本上所有的错误都碰到过了,度娘都解决了!
续:上面的准备工作好了,现在要把这个库放到板子上去哇!
1.假设我的根文件系统在这里:/home/somebody/OK335X/Linux/filesystem/rootfs-mini
现在到我们刚才编译好了的目录build。
把刚才生成的文件如上,拷贝到我的根文件系统下:
- $ sudo cp -r lib/* ~/OK335X/Linux/filesystem/rootfs-mini/usr/lib/
[color=rgb(51, 102, 153) !important]复制代码
- $ sudo cp -r bin/* ~/OK335X/Linux/filesystem/rootfs-mini/usr/bin/
[color=rgb(51, 102, 153) !important]复制代码
[color=rgb(51, 102, 153) !important]复制代码
去掉这个文件里面第二行module_raw input 前注释符#,一定要注意中间的空格也去掉,module 顶格!
然后,
- $ sudo cp -r etc/* ~/OK335X/Linux/filesystem/rootfs-mini/etc
[color=rgb(51, 102, 153) !important]复制代码
2.导出tslib环境变量
- $ cd /home/somebody/OK335X/Linux/filesystem/rootfs-mini
[color=rgb(51, 102, 153) !important]复制代码
[color=rgb(51, 102, 153) !important]复制代码
添加以下环境变量:
- export TSLIB_TSDEVICE=/dev/input/touchscreen0
- export TSLIB_CONFFILE=/etc/ts.conf
- export TSLIB_PLUGINDIR=/usr/lib/ts
- export POINTERCAL_FILE=/etc/pointercal
- export TSLIB_CALIBFILE=/etc/pointercal
- export TSLIB_CONSOLEDEVICE=none
- export TSLIB_FBDEVICE=/dev/fb0
[color=rgb(51, 102, 153) !important]复制代码
tslib环境变量说明:
TSLIB_CONFFILE //配置文件名
TSLIB_PLUGINDIR //插件目录
POINTERCAL_FILE: //指定包含用于校准指针设备的数据的文件
TSLIB_TSDEVICE //触摸屏设备文件名
TSLIB_CALIBFILE //校准的数据文件,由 ts_calibrate 校准程序生成
TSLIB_CONSOLEDEVICE //控制台设备文件名
TSLIB_FBDEVICE //设备名
以上环境变量在实际开发中的实际配置可以根据实际情况决定。而这些指定的设备节点一定要和你的开发
板上的/dev 目录下的设备节点相对应。
3.OK,该上开发板了!把上面这个根文件系统放到SD卡里面的rootfs分区,将启动方式设置为SD卡启动,上电!
|





|
|