转自:http://blog.163.com/zhuandi_h/blog/static/180270288201222310291262/

环境:
host:Ubuntu11.10
target:Omap35X EVm 
交叉编译链:4.3.2,Sourcery G++ Lite 2008q1-126 for ARM GNU/Linux 
tslib源代码:tslib-1.4.tar.gz
tslib安装目标路径:/usr/local/arm-linux/tslib1.4

安装步骤:


1.准备工作
确保以下软件已安装

# apt-get install autoconf(或autoconf2.13)
# apt-get install automake
# apt-get install libtool

2.下载
http://download.csdn.net/detail/scholar_fish/4167788
下载版本为tslib-1.4.tar.gz

3.配置
解压源代码tslib-1.4.tar.gz,并进入源代码文件夹

# tar -zxvf tslib-1.4.tar.gz
# cd tslib

配置

# ./autogen.sh
# echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache

# ./configure --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no --prefix=/usr/local/arm-linux/tslib1.4

注意,prefix选项更换为你的安装路径。

4.编译

# make

5.安装

# make install

编译生成的库,头文件等都拷贝至prefix制定的路径中。

6. 修改ts.conf内容
    打开安装路径下的/etc/ts.conf文件,修改其内容。

# vi /usr/local/tslib/etc/ts.conf

搜索定位至#module_raw input,把行首的注释符去掉,但要注意行首不要留有空格,即文字是顶格的,不然之后会出现段错误(segmentational fault)。

7.移植至开发板
将安装路径下的整个tslib文件夹,下载至开发班的上,我存放的路径为/usr/local

8. 设置开发板环境变量
通过超级终端, 打开环境变量文件/etc/profile

# vi /etc/profile

添加如下内容:

export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event1

export QWS_MOUSE_PROTO=tslib:/dev/input/event1
export TSLIB_CALIBFILE=/etc/pointercal  
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf   
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts 
export TSLIB_FBDEVICE=/dev/fb0  
export TSLIB_CONSOLEDEVICE=none  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

其中,TSLIB_ROOT更换为自己实际存放的路径;
另外,TSLIB_TSDEVICE 和QWS_MOUSE_PROTO这两项需要查看自己的板子的触摸屏设备对应/dev/input/下那个文件

9.执行测试命令
 重启开发板(使系统读取profile环境变量),进入tslib/bin目录,执行触摸屏校准程序

# ./ts_calibrate

如果出现tslib的触摸屏五点校准画面,至此,tslib的安装移植成功完成。
也可执行此目录下其他的程序来体验触摸屏!

10.出错记录
(1)第4步make时出现以下错误:

ts_test.o: In function `main':
ts_test.c:(.text+0x1d4): undefined reference to `rpl_malloc'
fbutils.o: In function `open_framebuffer':
fbutils.c:(.text+0x9f4): undefined reference to `rpl_malloc'
collect2: ld returned 1 exit status
make[2]: *** [ts_test] 错误 1
make[2]:正在离开目录 `/home/zhuandi/programs/tslib1.4/tslib/tests'
make[1]: *** [all-recursive] 错误 1
make[1]:正在离开目录 `/home/zhuandi/programs/tslib1.4/tslib'
make: *** [all] 错误 2

原因:直接copy了网络上的以下配置参数,参数中的”malloc_0 _nonnull"中多了一个空格。

# ./autogen.sh
# echo "ac_cv_func_malloc_0 _nonnull=yes">arm-none-linux-gnueabi.cache

解决:删除空格即可。

(2)第9步测试校准程序或其他程序时出现错误:egmentaton fault
         原因:修改ts.conf时去掉注释符号时,留下空格。
         解决:删除空格即可。

(3)第9步测试校准程序或其他程序时出现错误:触摸屏能显示,但对其操作无反应。
         原因:网络上一参考博文的环境配置,其中没有export QWS_MOUSE_PROTO=tslib:/dev/input/event1 
         解决:环境变量加上export QWS_MOUSE_PROTO=tslib:/dev/input/event1 ,重启板子即可。

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

  1. 向Tiny6410移植QT4.7.0版本

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

  2. 【Linux高级驱动】触摸屏驱动的移植

    触摸屏驱动的移植 流程 注意:看框架图 1.添加input.c组件 Device Drivers  ---> Input device support  --->  Generic inp ...

  3. 移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)

    目前网上的大多数 QT 移植教程还都停留在 qt4.8 版本,或者还有更老的 Qtopia ,但是目前 Qt 已经发展到最新的 5.7 版本了,我个人也已经使用了很长一段时间的 qt5.6 for w ...

  4. QT开发环境的建立以及QTE4.6.3、tslib1.4的移植过程

    1.首先是建立Linux开发环境1.1.在windowsXP下安装博创公司提供的虚拟机软件VMware Workstation,版本为VMware-workstation-full-7.0.1-227 ...

  5. tslib1.1移植

    安装步骤: 1.准备工作确保以下软件已安装 # apt-get install autoconf(或autoconf2.13)# apt-get install automake# apt-get i ...

  6. X86平台下嵌入式linux触摸屏解决方案(usb触摸屏控制器+完美校准方案+触摸屏QTE开发环境搭建)

    一直在用X86平台,真心不想用WINCE和XPE,一些大的硬件供应商都不提供linux平台下的技术支持,比如研华的3343PC104系列的板子... 开发的问题如下: 1 USB控制器目前只有台湾和竹 ...

  7. ARM学习日记

    2012-05-15 1.ARM开发板环境的搭建,nor启动,通过suppervivi,下载vivi---下载Kernel----下载文件系统,然后Nandflash启动即可. 2.在/etc/ini ...

  8. QT显示中文 连接上文

    1.首先是建立Linux开发环境1.1.在windowsXP下安装博创公司提供的虚拟机软件VMware Workstation,版本为VMware-workstation-full-7.0.1-227 ...

  9. 基于Linux的智能家居的设计(4)

    3  开发环境的搭建 本次课题使用的开发环境比較特殊.没有一个现成的集成开发环境,需要自己一步一步的搭建开发环境,开发环境的搭建的过程十分复杂,并且假设没有这个开发环境本次课题就无法进行. 因此.在进 ...

随机推荐

  1. 前端code导入excel

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 自定义线程池ThreadPoolExecutor

    使用自定义的方式创建线程池 Java本身提供的获取线程池的方式 使用Executors直接获取线程池,注意,前四个方式的底层都是通过new ThreadPoolExecutor()的方式创建的线程池, ...

  3. 你会Spring Cloud吗?

    如果有人问你这句话,你不要急着回答,因为答语和问者的关系莫大. 如果问你的是个老板或管理者,那么他多半不了解这项技术,很有可能只是知道这个技术名词而已,你知道的一定比他们深,你大可夸夸其谈的.在口若悬 ...

  4. HTTP走私

    干货 https://paper.seebug.org/1048/

  5. Ubuntu 18.04 LTS 配置静态IPv6地址

    学校的IPv4地址限制了校内IP访问,在家连校内机器只能先连接学校的VPN,十分不方便.好在学校没有对IPv6地址做限制,因此我们可以给自己的机器配置一个静态IPv6地址来绕过这个限制. 本机系统使用 ...

  6. 9.下载ffmpeg、使QT支持同时编译32位和64位

    1.FFMPEG下载 进入http://ffmpeg.org/download.html,如果下载源码,则在右下方: 如果在linux中,直接输入git clone https://git.ffmpe ...

  7. 手把手带你体验鸿蒙 harmonyOS

    wNlRGd.png 前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 GIthub 博客 学习导图 image.png 一.为什么要尝鲜 harmonyos? wNlfx ...

  8. pytest测试框架 -- skip跳过执行测试用例

      跳过执行测试用例 1.@pytest.mark.skip(reason=" ") -- 跳过执行测试函数 可传入一个非必须参数reason表示原因 import pytest@ ...

  9. xss的变形--如何绕过xss过滤

    我们可以通过构造xss代码进行各种变形,以绕过xss过滤器的检测 1.大小写检测 将payload进行大小写转化 如<Img SRC='#'  Onerror="alert(/xss/ ...

  10. Linux驱动之设备树的基础知识

    前期知识   1. 如何编写一个简单的Linux驱动(一)--驱动的基本框架   2. 如何编写一个简单的Linux驱动(二)--设备操作集file_operations   3. 如何编写一个简单的 ...