环境: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. sql联合查询

    联合查询效率较高.以下例子来说明联合查询的好处 t1表结构(用户名,密码)    userid int         username   varchar(20)     password      ...

  2. MyEclipse 2015免费在线公开课,2月5日开讲

    MyEclipse 2015免费在线公开课,2月5日开讲,由MyEclipse官方高级PM Brian Fernandes 主讲. 主讲内容: 更好地支持javascript和技术模块 全新的REST ...

  3. Sharepoint 文档库根据文件夹层级展示

    类似于资源管理器,效果如下 步骤 打开Sharepoint Desinger,编辑Allitems.aspx页面 在PlaceHolderMain里面插入代码,黄色部分需要替换 <table s ...

  4. Android自定义ScrollView分段加载大文本数据到TextView

    以下内容为原创,转载时请注明链接地址:http://www.cnblogs.com/tiantianbyconan/p/3311658.html 这是我现在碰到的一个问题,如果需要在TextView中 ...

  5. Android Animation学习(一) Property Animation原理介绍和API简介

    Android Animation学习(一) Property Animation介绍 Android Animation Android framework提供了两种动画系统: property a ...

  6. 【代码笔记】iOS-首页3张图片变化

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  7. 【Android】保存Fragment切换状态

    前言 一般频繁切换Fragment会导致频繁的释放和创建,如果Fragment比较臃肿体验就非常不好了,这里分享一个方法. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.c ...

  8. 什么是ODBO---OLE DB for OLAP

      我怎么一步一步追到ODBO了?   mondrian核心api->olap4j->jedox也在用olap4j->ODBO? ODBO是什么呢? OLE DB for OLAP ...

  9. php中的cookie用法

    cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别. cookie存放在客户端浏览器中,session保存在服务器上.它们之间的联系是session ID一般保存在 ...

  10. Cygwin VS MinGW

    首先MingW和cygwin都可以用来跨平台开发.  MinGW是Minimalistic GNU for Windows的缩写,也就是Win版的GCC.  Cygwin则是全面模拟了Linux的接口 ...