环境:RedHat

已安装交叉编译器

tslib版本:1.4

首先在redhat文件系统的/usr/local/tslib 创建目录

拷贝源代码tslib-1.4.tar.gz到/usr/local/tslib/ 下并解压

进入到刚刚解压的文件夹

执行以下命令:

# ./autogen.sh
# ./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes -–cache-file=arm-linux.cache -prefix=/usr/local/tslib/__install

 -prefix=/usr/local/tslib/__install代表的是安装的位置 我这里把编译后的文件生成在/usr/local/tslib/__install目录下。如没有相应的文件夹则需要自己手动创建。

如果执行sh脚本出现错误  则需要安装库  执行下面的语句即可

sudo apt-get install autoconf automake libtool

如果在配置时报错提示

C++ compiler cannot create executables

则安装GCC库即可

sudo apt-get install gcc-multilib

# make
# make install

然后将会在__install目录下生产bin etc include lib这几个文件夹。

将__install/lib/ 下的所有文件包括子目录拷贝到文件系统的/lib/目录下

将__install/etc/ 下的所有文件包括子目录拷贝到文件系统的/etc/目录

设置环境变量脚本tslib.sh

创建一个文件tslib.sh  文件内容如下:

#!/bin/sh
export TSLIB_ROOT=/opt/tslib
export TSLIB_TSDEVICE=/dev/touchscreen-1wire
export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=/dev/tty
export TSLIB_FBDEVICE=/dev/fb0

然后启动开发板

# source tslib.sh

  

在之前的__install/bin/ts_calibrate拷贝到开发板

# 。/ts_calibrate

 这时我们将会在屏幕上看到要求触目校准的画面信息。

这时发现根本就无法进行屏幕校准。可能 跟友善的一线触摸有关系,故我在网上搜索了相关的资料

在网上的某个帖子解决了问题

http://blog.csdn.net/yf210yf/article/details/7352470

由于tiny6410的一线触摸,所以需要改程序,照别人的:

打开tslib/plugins/input-raw.c
把其中的ts_input_read 函数改成如下:

static int ts_input_read(struct tslib_module_info *inf,
    struct ts_sample *samp, int nr)
{
printf ("HEAD=== ts_input_read in INPUT-RAW.C\n");
struct tslib_input *i = (struct tslib_input*)inf;
struct tsdev *ts = inf->dev;
struct input_event ev;
int ret = nr;
int total = 0;
unsigned long jjts; while(total<nr)
{
ret =read(ts->fd, &jjts,sizeof(jjts)); //if (ret==-1) continue; if (ret==-1) return 0; samp->pressure=(jjts>>31)& 0x01;
samp->x=(jjts>>16)& 0xffff;
samp->y=jjts & 0xffff; samp++;
total++;
} ret=total;
  return ret; }

特别注意:

参照网上许多资料,上面讲的都是if (ret==-1) continue;做了以后,发现触摸屏能校准,但是运行qt程序时,光标能移动,但是点击无效。所以改成

if (ret==-1) return 0;问题解决。

# export PREFIX=/opt/tslib                  设置目标位置
# ./autogen.sh 用于生成configure脚本
# echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache 产生一个cache文件arm-linux.cache,欺骗configure
# CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache
# make
# make install

编译成功后在目标位置产生/bin、/etc、/include、/lib 4个文件夹 (11)修改/opt/tslib/etc/ts.conf 文件,删除其中内容,改为

 module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear

第一行是tslib从linux的输入设备读取数据时需要用到的模块,这里指定的模块为input,具体需要用到哪个模块,需要参考其他数据。 第二行的pthres为Tslib提供的触摸屏灵敏度门槛插件。 第三行的variance为Tslib提供的触摸屏滤波算法插件。 第四行的dejitter为Tslib 提供的触摸屏去噪算法插件。 第五行linear为Tslib提供的触摸屏坐标变换插件。

将/opt下的tslib文件夹拷贝到arm文件系统的/opt下

再将tslib/lib/* 复制一份到开发板的lib目录下

# cp /opt/tslib/lib/* /lib/ -rf

设置环境变量脚本tslib.sh

#!/bin/sh
export TSLIB_ROOT=/opt/tslib
export TSLIB_TSDEVICE=/dev/touchscreen-1wire
export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=/dev/tty
export TSLIB_FBDEVICE=/dev/fb0

在开发板的/etc/profile文件后面加上

source  /tslib.sh

启动arm板,命令行下执行脚本

校准触摸屏

cd /opt/tslib/bin

./ts_calibrate

会出现校准画面,完成后生成pointercal 文件

链接

ln -s /opt/tslib/etc/pointercal /etc/pointercal

至此,tslib1.4移植完成

向tiny6410移植tslib(tslib-1.4)的更多相关文章

  1. qt-5.6.0 移植之tslib 配置及编译

    tslib 是qt启动时的一个触屏校正检验程序. 它的配置以及编译比较简单. 第一步, 下载tslib源码包: http://download.csdn.net/detail/MKNDG/329156 ...

  2. QT 5.7.0 移植之 tslib 编译配置

    QT5.7 编译请参考:http://www.cnblogs.com/chenfulin5/p/5798764.html 最新的 tslib 是从他的 github 下载下来的. 地址是:https: ...

  3. 向Tiny6410移植QT4.7.0版本

    在移植QT之前我们首先要安装tslib,没有移植的可以看这篇文章移植. http://www.cnblogs.com/ynxf/p/5392476.html step 1: echo yes |../ ...

  4. tiny6410移植opencv

    1.错误1, 解决办法:取消一下两个选项: 2.错误2, 解决办法: 原因是找不到pthread链接库,打开文件夹下的CmakeCache.txt进行修改 3.错误3, 解决办法:

  5. 【转载】tslib移植_freescale imx6

    本文来自网络:http://blog.csdn.net/xishuang_gongzi/article/details/49422879 环境:host:Ubuntu12.04target:frees ...

  6. tslib移植arm及使用

    测试平台 宿主机平台:Ubuntu 12.04.4 LTS 目标机:Easy-ARM IMX283 目标机内核:Linux 2.6.35.3 tslib 1.4 下载  https://gitlab. ...

  7. Tslib触摸屏官网【转】

    转自:https://github.com/kergoth/tslib C library for filtering touchscreen events tslib consists of the ...

  8. Qt4.8.5在ARM9上的移植

    Qt4.8.5在ARM9开发板上的移植 以前移植过qtopia-embedded-2.2.0,俗称Qt/E,在早期的Qt框架中是使用X11桌面服务器系统,无法应用于嵌入式平台,为此产生了qtopia, ...

  9. qt-5.6.0 移植之qt源码编译

    其实这只是给自己看的一个configure选项笔记,没有太多的东西. 首先: 下载qt5.6的源码: 地址: http://download.qt.io/archive/qt/5.6/ 下载完解压: ...

随机推荐

  1. 关于Canvas模糊的问题

    前言:当我在几个多月前,第一次在移动设备上使用canvas绘制内容的时候,我惊然地发现我绘制的图片以及文字居然都是模糊的!我的内心几乎是崩溃的,因为那是我第一个使用canvas的项目,是一个基于微信端 ...

  2. Python正则表达式使用实例

    最近做题需要使用正则表达式提取信息,正则表达式很强大,之前都是纸上谈兵,这次刚好动动手,简单实现下: 文本内容如下: var user={star: false, vip :false}; var f ...

  3. SharePoint Online 创建门户网站系列之图片滚动

    前 言 创建SharePoint Online栏目我们之前已经介绍过了,具体就是内容编辑器方式.自带WebPart方式和JavaScript读取后台数据前台做展示的三种: 但是,对于复杂的展示来说,这 ...

  4. Android实现登录

    登录界面布局文件         1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android ...

  5. iOS 被拒问题及原因 - IDFA问题

    IDFA问题 iOS APP上线被拒绝的问题解决(AdSupport),百度统计,友盟统计,讯飞语音等   苹果反馈信息如下: .... To process your delivery, the f ...

  6. CoreGraphics相关方法

    // 将view转为image(不经常用到的功能)(摘自SCCatWaitingHUD) - (UIImage *)convertViewToImage { CGSize s = self.bound ...

  7. XML解析方案

    在iOS中,解析XML的手段有很多 苹果原生 NSXMLParser:SAX方式解析,使用简单 第三方框架 libxml2:纯C语言,默认包含在iOS SDK中,同时支持DOM和SAX方式解析 GDa ...

  8. iOS手势的传递问题

    昨天在做一个页面的时候,我先在一个uiview上面画了一个字母的索引表,之后我通过touchbegan来表示 点击到字母的效果,主要效果是跳出一个界面来显示你按到的字母是什么. 之后我用touchmo ...

  9. mysql 命令行操作入门(详细讲解版)

    之前分享过多次Mysql主题,今天继续分享mysql命令行入门   1. 那么多mysql客户端工具,为何要分享命令行操作? -快捷.简单.方便 -在没有客户端的情况下怎么办 -如果是mysql未开启 ...

  10. 磁带机Media is unrecognized

    早晨检查磁带备份作业时,发现有个驱动的作业一直处于"Queue"状态,检查发现驱动有磁带,在Alert里面发现出现下面"Media is unrecognized&quo ...