真的不需要解释 发表于 2014-2-22 19:21:55

tslib1.4移植到飞凌OK335X


转载自: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平台上,首先要交叉编译,不要跟我说你已经有交叉编译好的了!参考这个帖子,http://www.mcuprimer.com/%22http://cache.soso.com/img/img/e113.gif/%22。
2.==,编译之前我们需要先装几个东东!后面执行脚本时,要用到的几个命令:

[*]
[*]$ sudo apt-get install autoconf
[*]$ sudo apt-get install automake
[*]$ sudo apt-get install libtool

复制代码
3.别忘了,你得要有这个库哇!tslib-1.4.tar.gz
4.好的!下载好了!move on...
放到你的目录下,自己找个目录,解压
http://www.mcuprimer.com/forum.php?mod=attachment&aid=ODZ8NmRiOGFlOTd8MTM5MzA2NzU0MHw3fDcy&noupdate=yes


http://www.mcuprimer.com/forum.php?mod=attachment&aid=ODd8ZjI1OTg0ODB8MTM5MzA2NzU0MHw3fDcy&noupdate=yes
[*]$ tar -xvf tslib-1.4.tar.gz

复制代码


http://www.mcuprimer.com/forum.php?mod=attachment&aid=ODh8ODg4ZjVlY2N8MTM5MzA2NzU0MHw3fDcy&noupdate=yes

[*]$ cd tslib

复制代码





http://www.mcuprimer.com/forum.php?mod=attachment&aid=ODl8NDExNTA0ZGZ8MTM5MzA2NzU0MHw3fDcy&noupdate=yes


[*]$ ./autogen.sh

复制代码
完了在当前目录下创建一个目录,build,用来存放我们编译出来的东西。

[*]$ mkdir build

复制代码
go on...
http://www.mcuprimer.com/forum.php?mod=attachment&aid=OTB8ZjM0MmM2NTV8MTM5MzA2NzU0MHw3fDcy&noupdate=yes


[*]./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix=/home/somebody/OK335X/Linux/tslib/build/

复制代码
注意-prefix这个选项就是刚才我们创建的那个目录,绝对路径哦!


http://www.mcuprimer.com/forum.php?mod=attachment&aid=OTF8NTBkODk4Y2F8MTM5MzA2NzU0MHw3fDcy&noupdate=yes



接下来就是重点了:
[*]$ make(编译)

复制代码
http://www.mcuprimer.com/forum.php?mod=attachment&aid=OTJ8MjI1MGRhMTJ8MTM5MzA2NzU0MHw3fDcy&noupdate=yes



http://www.mcuprimer.com/forum.php?mod=attachment&aid=OTR8ZmIyMjhlOTl8MTM5MzA2NzU0MHw3fDcy&noupdate=yes
[*]$ make install(安装)

复制代码


http://www.mcuprimer.com/forum.php?mod=attachment&aid=OTN8M2IyM2Y1NDl8MTM5MzA2NzU0MHw3fDcy&noupdate=yes


完了!!!


去build目录下看看,是不是生成了一些文件:

http://www.mcuprimer.com/forum.php?mod=attachment&aid=ODV8MTU1NGI0OTF8MTM5MzA2NzU0MHw3fDcy&noupdate=yes


PS:

1.当然你也可以像飞凌官方那样把上面的命令写成一个脚本:

http://www.mcuprimer.com/forum.php?mod=attachment&aid=OTV8Njc2MWFmODd8MTM5MzA2NzU0MHw3fDcy&noupdate=yes   


我在最后才说这个,是不是有点坑啊!哈哈哈{:soso_e144:}

2.如果上面的某个操作无法往下执行,出现了种种错误,抱歉我这里一个帖子无法完全覆盖,请以度娘为准!我基本上所有的错误都碰到过了,度娘都解决了!


续:上面的准备工作好了,现在要把这个库放到板子上去哇!
1.假设我的根文件系统在这里:/home/somebody/OK335X/Linux/filesystem/rootfs-mini

现在到我们刚才编译好了的目录build。
http://www.mcuprimer.com/forum.php?mod=attachment&aid=OTh8MTIzNzhhMGR8MTM5MzA2NzU0MHw3fDcy&noupdate=yes


把刚才生成的文件如上,拷贝到我的根文件系统下:

[*]$ sudo cp -r lib/* ~/OK335X/Linux/filesystem/rootfs-mini/usr/lib/

复制代码

[*]$ sudo cp -r bin/* ~/OK335X/Linux/filesystem/rootfs-mini/usr/bin/

复制代码

[*]$ vim etc/ts.conf

复制代码

去掉这个文件里面第二行module_raw input 前注释符#,一定要注意中间的空格也去掉,module 顶格!http://www.mcuprimer.com/forum.php?mod=attachment&aid=MTAzfDdhYWU4MzJmfDEzOTMwNjc1NDB8N3w3Mg%3D%3D&noupdate=yes



然后,

[*]$ sudo cp -r etc/* ~/OK335X/Linux/filesystem/rootfs-mini/etc

复制代码
http://www.mcuprimer.com/forum.php?mod=attachment&aid=MTA0fGZlNTI4ZDEyfDEzOTMwNjc1NDB8N3w3Mg%3D%3D&noupdate=yes



2.导出tslib环境变量
http://www.mcuprimer.com/forum.php?mod=attachment&aid=MTAxfDA2NjJmNGQ4fDEzOTMwNjc1NDB8N3w3Mg%3D%3D&noupdate=yes


[*]$ cd /home/somebody/OK335X/Linux/filesystem/rootfs-mini

复制代码

[*]$ vim etc/profile

复制代码

添加以下环境变量:
http://www.mcuprimer.com/forum.php?mod=attachment&aid=MTA1fDVkZTA3MWM5fDEzOTMwNjc1NDB8N3w3Mg%3D%3D&noupdate=yes




[*]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

复制代码


tslib环境变量说明:
TSLIB_CONFFILE                        //配置文件名
TSLIB_PLUGINDIR                        //插件目录
POINTERCAL_FILE:                     //指定包含用于校准指针设备的数据的文件
TSLIB_TSDEVICE                        //触摸屏设备文件名
TSLIB_CALIBFILE                         //校准的数据文件,由 ts_calibrate 校准程序生成
TSLIB_CONSOLEDEVICE                //控制台设备文件名
TSLIB_FBDEVICE                        //设备名
以上环境变量在实际开发中的实际配置可以根据实际情况决定。而这些指定的设备节点一定要和你的开发
板上的/dev 目录下的设备节点相对应。

3.OK,该上开发板了!把上面这个根文件系统放到SD卡里面的rootfs分区,将启动方式设置为SD卡启动,上电!
http://www.mcuprimer.com/forum.php?mod=attachment&aid=MTA3fDFhYWM4NzZifDEzOTMwNjc1NDB8N3w3Mg%3D%3D&noupdate=yes



http://www.mcuprimer.com/forum.php?mod=attachment&aid=MTA4fDA0MTBlYzBlfDEzOTMwNjc1NDB8N3w3Mg%3D%3D&noupdate=yes




http://www.mcuprimer.com/forum.php?mod=attachment&aid=MTA5fDczMDc2OGM3fDEzOTMwNjc1NDB8N3w3Mg%3D%3D&noupdate=yes


http://www.mcuprimer.com/forum.php?mod=attachment&aid=MTA2fDRmNjVkZTU3fDEzOTMwNjc1NDB8N3w3Mg%3D%3D&noupdate=yes








36.png (192.3 KB, 下载次数: 0)
http://www.mcuprimer.com/forum.php?mod=attachment&aid=OTZ8NjZiMzQ1OTZ8MTM5MzA2NzU0MHw3fDcy&noupdate=yes
31.png (145.39 KB, 下载次数: 0)
http://www.mcuprimer.com/forum.php?mod=attachment&aid=OTd8YTBiYmE1OGR8MTM5MzA2NzU0MHw3fDcy&noupdate=yes
34.png (194.01 KB, 下载次数: 0)
http://www.mcuprimer.com/forum.php?mod=attachment&aid=OTl8Mzc1ZDhiNDF8MTM5MzA2NzU0MHw3fDcy&noupdate=yes
35.png (200.32 KB, 下载次数: 0)
http://www.mcuprimer.com/forum.php?mod=attachment&aid=MTAwfDIyMTIyM2Y0fDEzOTMwNjc1NDB8N3w3Mg%3D%3D&noupdate=yes
32.png (181.97 KB, 下载次数: 0)
http://www.mcuprimer.com/forum.php?mod=attachment&aid=MTAyfDgzZWMyYTAxfDEzOTMwNjc1NDB8N3w3Mg%3D%3D&noupdate=yes


飞凌-unix 发表于 2014-2-24 08:48:17

楼主辛苦了,赞一个

踏雪you坑 发表于 2015-11-8 23:53:07

看看什么东西

zdl1050448840 发表于 2016-1-22 19:27:16

最近在看触摸的东西学习

Kohung 发表于 2016-3-21 13:42:50

一定要看看,遇到此类问题。

mf1993 发表于 2016-4-8 08:28:54

看看         
页: [1]
查看完整版本: tslib1.4移植到飞凌OK335X