Chinaunix首页 | 论坛 | 博客
  • 博客访问: 161752
  • 博文数量: 21
  • 博客积分: 2227
  • 博客等级: 大尉
  • 技术积分: 215
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-07 19:51
文章分类
文章存档

2012年(1)

2011年(1)

2009年(19)

分类: LINUX

2009-11-15 14:03:16

1. 下载相关工具与最新的tslib源码包:
# sudo apt-get install autoconf
# sudo apt-get install automake
# sudo apt-get install libtool

http://blog.chinaunix.net/u2/75270/showart_1793535.html 有tslib 1.4的下载,下载后解压并进入tslib目录。

2. 运行autogen.sh脚本:
# ./autogen.sh

3. 配置:
# ./configure --host=arm-linux --prefix=/opt/tslib

4. 编译:
# make

可能报错 “ts_test.c:(.text+0x200): undefined reference to `rpl_malloc'”
原因是在 tslib-1.4/config.h 中有一行定义 “#define malloc rpl_malloc”
直接注释掉
这行定义即可,除非你自己实现了一个 malloc 版本。

5. 重新编译:
# make

6. 安装:
# make install

安装后, 主机 /opt/tslib 存在如下目录:
bin  etc  include  lib

拷贝主机 /opt/tslib 目录至开发板 /opt/ 目录。

7. 在开发板运行
触摸屏校正
(1) 在运行触摸屏校正之前,需要设置一些环境变量,以下是我的开发板的 /etc/profile 文件的内容:

# Ash profile
# vim: syntax=sh

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]\# '
PATH=$PATH

HOSTNAME=`/bin/hostname`

export USER LOGNAME PS1 PATH

export TSLIB_ROOT=/opt/tslib
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TS_INFO_FILE=/sys/class/input/input0/uevent

export LD_LIBRARY_PATH=lib:/usr/lib:$TSLIB_ROOT/lib:$LD_LIBRARY_PATH


(2) 运行触摸屏校正:
# cd /opt/tslib/bin
# ./ts_calibrate
      报错 “No raw modules loaded.”, 原因是缺省时,/opt/tslib/etc/ts.conf 中所有的 raw module 都注释掉了,打开第一项 “module_raw input” 即可 。


(3) 重新运行,应该成功;点击屏幕上出现的需要校正的“+”,校正结果存放在
/etc/pointercal 文件中。
 

阅读(2765) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~