网上下载tslib-1.4.tar.gz包,这包用于管理触摸屏,例如可用于它来校正触摸屏,并保存校正数据。
2.编译安装tslib-1.4
把tslib-1.4 COPY到Fedora9的 /opt下,在Fedora9的终端下执行:
- #cd /tmp
- # tar zxvf tslib-1.4.tar.gz ――――――――(最后在/tmp下解压生成tslib)
- #cd tslib
- #./autogen.sh
- #./configure --prefix=/home/mytslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
- #make
- #make install
成功后可在/home下生成mytslib,进入mytslib可以看到有bin include lib etc四个文件夹。
编辑mytslib/etc/ts.conf这个文件
最后内容如下:
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
(网上有一篇流传比较广的,QT4.5.3移植mini2440里面也提到了,tslib的移植但是这个地方有错误,按照他的说法应该是 module_raw collie,可是那样ts_的命令都不能正常运行)
第一行可以选择注释掉但是必须把它移到最后正文内容(也就是没有注释的部分)的第一行
而且必须顶格,前面不允许有空格,否则执行tslib的程序时会发生错误。
Segmentation fault
修改一:最近在ubuntu12.10(32位)上一直tslib,出现了错误
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
修改方法是修改编译命令
./configure --prefix=/home/zl/project/tslib-1.0 --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --enable-inputi=no
备注:64位机越来越普及,伴随的操作系统也越来越多,比如ubuntu12.10,就有32位,64位两种版本。
在嵌入式开发中,这写变化是有本质的区别的。一个特别显著的问题就是64位机不能运行32位的软件
所以我在自己安装的64位ubuntu中安装的交叉编译器就不能使用。