2012年(1008)
分类:
2012-08-01 11:38:49
原文地址:TX2440 tslib-1.4移植 作者:luozhiyong131
嵌入式学习入门 http://blog.chinaunix.net/u3/117680/showart.php?id=2300212
嵌入式学习入门 全面讲述嵌入式学习每一步骤
tslib版本:
tslib-1.4
交叉编译器版本:
arm-linux-gcc 4.1.2
操作系统平台:
Linux -- Red Hat 9.0
开发板平台:
Arm -- TX2440A
开始移植:
下载tslib1.4源码包,解压
进入tslib目录,执行
#./autogen.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工具,需要GNU的m4工具,但是系统里没有这个工具,所以还要从网上down
在找到m4-1.14.13.tar.bz2
下载完后,进入m4-1.14.13目录,执行
#./configure 2
#make
#make install
安装完成后,再进入autoconf目录,执行
#./configure
#make
#make install
新安装的autoconf工具就把/usr/bin下的可执行程序覆盖了,然后执行
#source /etc/profile
使环境变量生效,再查看 autoconf版本,确保是2.64版
进入tslib目录,执行
# ./autogen.sh
#./configure --prefix=/usl/local/tslib --host=arm-linux --target=arm-linux --enable-inputapi=no
#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
这一步很重要:
安装完成后,把linux中安装/usr/local/tslib目录下的所有内容拷贝到根文件系统的/usr/local/tslib目录下,修改tslib/etc/ts.conf文件,将第二行module_raw input的注释去掉。
将tslib/bin/ts_calibrate拷贝到/usr/bin下,这个就是触摸屏校正程序,运行时,屏幕上会依次出现5个点,点击后会在/etc/目录下生成pointercal文件,qtopia就会根据这个文件进行校正