Chinaunix首页 | 论坛 | 博客
  • 博客访问: 346363
  • 博文数量: 92
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 960
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-21 19:38
文章分类

全部博文(92)

文章存档

2010年(71)

2009年(21)

我的朋友

分类: 嵌入式

2010-05-14 21:13:14

tslib-1.4移植
tslib版本:

tslib-1.4

交叉编译器版本:

arm-linux-gcc 4.1.2

操作系统平台:

Linux -- Red Hat 9.0

开发板平台:

Arm -- TX2440A

 

开始移植:

下载tslib1.4源码包,解压

进入tslib目录,执行

#./autoconf.sh

出现错误:possible undefined macro: AS_HELP_STRING

可能是因为系统自带的autoconf工具里面没有定义这个宏,查看一下autoconf的版本

#autoconf –V 2.57版的,

那么就从网上下一个比这个新一点的版本

找到了2.64

下载完后,进入autoconf目录,执行

#./configure

又出现错误:no acceptable m4 could be found in $PATH

原因是安装autoconf工具,需要GNUm4工具,但是系统里没有这个工具,所以还要从网上down

找到m4-1.14.13.tar.bz2

下载完后,进入m4-1.14.13目录,执行

#./configure

#make

#make install

安装完成后,再进入autoconf目录,执行

#./configure

#make

#make install

新安装的autoconf工具就把/usr/bin下的可执行程序覆盖了,然后执行

#source /etc/profile

使环境变量生效,再查看 autoconf版本,确保是2.64

进入tslib目录,执行

#./configure --prefix=/home/xgc/tslib --host=arm-linux --target=arm-linux --enable-inputapi=no (因为触摸屏驱动不支持ioctl操作)

#make

这时会出现一个错误:ts_test.o(.text 0x218): In function `main': undefined reference to `rpl_malloc'

查看一下源码,发现是ac_cv_func_malloc_0_nonnull引起了,那我们需要建一个cache文件,来欺骗configure,让它不检查这一项

执行

#echo "ac_cv_func_malloc_0_nonnull=yes" > mytslib.cache

再执行

#./configure –prefix=/home/xgc/tslib –host=arm-linux –target=arm-linux –enable-inputapi=no –cache-file=mytslib.cache

#make

#make install

这一步很重要:

安装完成后,把tslib目录下的所有内容拷贝到根文件系统的/usr/local/tslib目录下,修改tslib/etc/ts.conf文件,将第二行module_raw input的注释去掉。

tslib/bin/ts_calibrate拷贝到/usr/bin下,这个就是触摸屏校正程序,运行时,屏幕上会依次出现5个点,点击后会在/etc/目录下生成pointercal文件,qtopia就会根据这个文件进行校正

 

把那些tslib 环境配置export  写到 /etc/profile 中去吧

(上网查了一下,说是在shell里执行export只能影响当前这个脚本和它的子脚本,不能影响正在运行的登录 shell(当前shell).,所以没有作用。)

#vim /etc/profile

export T_ROOT=/usr/local/tslib

export TSLIB_CONSOLEDEVICE=none        //控制台设备文件名

export TSLIB_FBDEVICE=/dev/fb0         //framebuffer设备文件名

export TSLIB_TSDEVICE=/dev/event0   //触摸屏设备名

export TSLIB_CALIBFILE=/etc/pointercal     //触屏校正信息保存文件

export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf //tslib配置文件

export TSLIB_PLUGINDIR=$T_ROOT/lib/ts        //tslib需要加载模块所在目录

 

 

 

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