tslib 1.4 在ARM板上移植

 
tslib 1.4 在ARM板上移植
编译tslib 库
 
1.首先从网上下载的tslib-1.4.tar.gz
2.解压 tar xvzf tslib-1.4.tar.gz ; cd tslib
3.生成configure,这里比一般的开源项目少做一步,要先运行解压目录下的脚本
  ./autogen.sh
4.用configure 生成Makefile.
  这里按汇森移植规范移输出到output目录当中.
    即有如下目录结构
  hxy_project
    |
    +-- docs
    |
    +-- output
    |     |
    |      + -- arm-linux  #项目发布目录
    |
    +--- libs
           |
           +--  tslib
生成脚本
  ./configure --host=arm-linux --prefix=$PWD/../../output/arm-linux ac_cv_func_malloc_0_nonnull=yes  --enable-inputapi=no
 
   其中ac_cv_func_malloc_0_nonnull=yes 是为解决如下编译错误设置的

ts_test.o: In function `main':
ts_test.c:(.text+0x1d8): undefined reference to `rpl_malloc'
fbutils.o: In function `open_framebuffer':
fbutils.c:(.text+0xa20): undefined reference to `rpl_malloc'
collect2: ld returned 1 exit status
--enable-inputapi=no. 是为了解决运行中提示 ts_open:Inappropriate ioctol for device,它表示
即不使用ioctl来控制触摸屏。但是我在几个板没有碰到这样提示--enable-inputapi=no
5.编译安装
   make
   make install-strip #安装strip后的库
 #make install #安装没有strip库版本.
 
 
配置与测试tslib  
  tslib只是应用级的一个程序库,只是用来封装底层的触摸屏驱动的操作,以一个统一接口来给其它应用程序使用.因此tslib正常工作的 前提是开发板上的触摸屏驱动能正常工作.另外触摸屏的效果往往需要在LCD上显示,因此tslib也需要开发板上的FrameBuffer驱动正常工作.
   测试FrameBuffer 驱动的方法参见我的博文
  
   ARM开发板常见的触摸屏驱动分为两大类,一类是模拟HP 3600的调用接口.这类驱动一般使用/dev/h3600_tsraw 的设备结点文件.早期开发板一般都是这一类,
   另外一类是采用Linux 2.6 输入设备接口的驱动。这类驱动会将触摸屏驱动设计成一个标准输入事件设备(linux input layer event interface),所有事件输入设备结点命名为/dev/input/eventN (N>=0).
 一般都是/dev/input/event0.而且驱动向应用程序发送标准的struct event 结构。
  ARM板使用哪种驱动接口.要参考产商的文档或直接查看已经成功的程序使用哪一个。
 
 
  tslib 运行时需要一个关键的ts.conf来设置采用哪一种驱动。另外还需要设定一些环境变量。当编译完tslib安装后,在安装目录的etc下有一个 ts.conf的模板。如果使用h3600设备,则使用module_raw h3600,如果是使用输入设备,则使用module_raw input.

#ts.conf template

module_raw input
#module_raw h3600

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

 
注意配置项要顶格写,如果有空格,tslib将会u有段错误。这是它的bug.
 
正常运行tslib 也需要配置一系列环境变量

#export TSLIB_ROOT=/usr/local/tslib
export TSLIB_ROOT=/mnt/hxy/output/arm_linux
#取决具体的设备驱动了,事件驱动用
export TSLIB_TSDEVICE=/dev/input/event0
#h3600用如下配置
#  export TSLIB_TSDEVICE=/dev/h3600_tsraw
#触摸屏定位文件保存位置
export TSLIB_CALIBFILE=/etc/pointercal
#tslib配置文件内容
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
#tslib 插件目录 
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
  export TSLIB_CONSOLEDEVICE=none
#LCD设备结点 
export TSLIB_FBDEVICE=/dev/fb0
#把libts.so加入动态搜索路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

 
将其放入ARM开发的Flash或NFS路径下。可以测试运行安几装目录下的bin的几个测试程序
运行ts_test.将会在屏幕出现如下界面。点击控制台将会有输出。
 
关于触摸屏定位
  软件最常采用是鼠标的坐标体系,它是采用相对位移来判断位置.但触摸屏采用绝对定位坐标。为了让程序响应触摸屏的点击,要把触摸屏的坐标换算成软件识别的 相对坐标。因此要有一组参数来做换算。换算的参数来自于触摸屏定位程序,如果参数不对,最明显的结果就是定位不准。每一个使用触摸屏的嵌入式设备通常都带 有这样工具,比如我们使用手机。(但大规模量产的定位参数都是统一设好).
  开发板一般需要自己手动设置,tslib自带一个 ts_calibrate有这样功能。Qtopia也自带一个。两者界面类似,写的结果通常都是/etc/pointercal 这个文本文件里面。
  操作方法也类似,当界面出一个小十字时,点击交叉点即可,设置分别会在左上,左下,右上,右下和中心依次出现五个小十字。
   
Qtopia 定位程序界面。
 
tslib 的定位程序界面
 
tslib安装
   tslib 发布要将libts.so,以及它的针对各个触摸屏设备的插件,ts.conf ts_calibrate 一同发布在开发板上,并用前述的环境变量设置相应的值。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要下载tslib-1.4.tar.gz文件,可以通过CSDN网站进行下载。以下是具体步骤: 1. 打开CSDN网站,并进入其下载页面。 2. 在搜索框中输入tslib-1.4.tar.gz进行搜索。 3. 在搜索结果中找到相关的下载链接,并点击进入。 4. 查看下载页面上的介绍和相关信息,确保下载的文件是正确版本。 5. 点击下载按钮,开始下载tslib-1.4.tar.gz文件。 6. 下载完成后,可以在下载文件的默认保存位置找到该文件。 7. 解压缩下载的tslib-1.4.tar.gz文件。可以使用解压软件,如WinRAR或7-Zip等工具进行解压。 8. 解压后,就可以使用tslib-1.4.tar.gz文件进行相关的操作,如安装、配置等。 需要注意的是,CSDN作为一个开放的技术社区,提供了众多开发者共享的资源,但要注意选择可信的下载链接和源,确保所下载的文件是没有被恶意篡改或携带病毒的。 ### 回答2: tslib-1.4.tar.gz是一个名为tslib的软件包文件,它可能包含了一些用于触摸屏驱动和应用程序开发的工具和库。CSDN是一个在线技术社区,它为开发者提供了许多技术相关的资源。 如果你想要下载tslib-1.4.tar.gz文件,你可以在CSDN的网站上搜索该文件的下载链接。首先,访问CSDN的官方网站,并输入“tslib-1.4.tar.gz下载”进行搜索。在搜索结果中,你可能会找到一些相关的帖子或文章,其中包含了这个文件的下载链接。 点击下载链接后,你将被重定向到一个下载页面,在该页面上你可以选择下载文件的保存位置。一般来说,大部分的下载页面都会提供一个下载按钮或者链接,你只需点击它即可开始下载。 一旦下载完成,你可以找到你的下载文件夹,其中应该已经有了tslib-1.4.tar.gz文件。你可以使用解压软件(例如7-Zip)来解压或打开这个文件。 总之,要下载tslib-1.4.tar.gz文件,你可以通过访问CSDN的网站并搜索相关链接来实现。希望这个回答对你有所帮助。 ### 回答3: 要下载tslib-1.4.tar.gz,首先需要访问CSDN网站。我们可以在浏览器中输入CSDN的网址(https://www.csdn.net/)进行访问。在CSDN网站上,可以找到各种技术资源和开源软件。在搜索框中输入tslib-1.4.tar.gz,并点击搜索按钮,即可找到相关的下载链接。 在下载链接所在的页面上,我们可以找到tslib-1.4.tar.gz的详细信息,如版本号、文件大小以及更新日期等。通常,下载链接会以文本、图片或按钮的形式展示。点击下载链接后,即可开始下载tslib-1.4.tar.gz文件。 下载过程中,我们可以选择保存文件的路径和名称。一般来说,选择一个易于找到和记忆的文件保存路径是很重要的。下载完成后,我们可以在选择的路径下找到tslib-1.4.tar.gz文件。 tslib-1.4.tar.gz是一个压缩文件,我们需要解压缩才能使用其中的内容。可以使用类似WinRAR或7-Zip等解压工具对文件进行解压。解压完成后,可以得到一个名为tslib-1.4的文件夹,里面包含了tslib-1.4的源代码和其他相关文件。 现在,我们可以根据具体需求,使用tslib-1.4.tar.gz文件中的内容了。如果是进行编程开发,需要将tslib-1.4的源代码导入到项目中,并进行编译和运行。如果是进行研究或学习,可以查看文件中的文档或示例代码,以获取更多关于tslib-1.4的使用说明。 总之,通过在CSDN上下载tslib-1.4.tar.gz,我们可以获取到这个开源软件的压缩文件,并通过解压缩获得源代码和其他资源,从而满足我们对tslib-1.4的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值