ubuntu8.04+cross-compile3.4.1+tslib1.3
(1) 第一步:下載source code並解壓我用的是tslib-1.3.tar.bz2。下載地址:http://download.csdn.net/source/673898
(2) 第二步:針對底層驅動修改配置信息
./autogen.sh //(這步會生產configure文件)
./configure CC=arm-linux-gcc --build=i686-pc-linux --target=arm-linux --host=arm-linux --prefix=/usr/local/program/tslib/build --enable-inputapi=no
其中最後一項--enable-inputapi=no 是由於驅動不支持ioctl操作,如果不改最後會有如下現象:我在板子上運行./ts_test的時候,總是提示我:ts_open: No such file or directory?
(3) 第三步:修改源碼 1、 修改/tslib/plugins/Makefile裏面找rpath
將
LDFLAGS :=$(LDFLAGS) -rpath $(PLUGIN_DIR)
修改爲:
LDFLAGS :=$(LDFLAGS) -rpath `cd $(PLUGIN_DIR) && pwd` //(這個可是頓號)
否則make時報如下錯:
make的時候libtool:link: only absolute run-paths are allowed
2、修改src/ts_read_raw.c中的
char *defaulttseventtype="UCB1x00";
改爲
char *defaulttseventtype="H3600"; //因爲我的觸摸屏驅動對應此結構。
(4)編譯與安裝
make
make install
經過安裝步驟後,進入…./tslib/build 目錄下可以看到如下幾個文件夾: bin、etc、share、lib、include
# ls bin/
ts_calibrate ts_print ts_test ts_print_raw
# ls etc/
ts.conf
這裏建議配置爲(我就是用的這個配置,效果還不錯):
module mousebuts
#module variance xlimit=20 ylimit=20 pthreshold=3
#module dejitter xdelta=20 ydelta=20 pthreshold=3
module linear
若實際運行時發現抖動比較厲害,可以採用下面的配置:
module mousebuts
#module variance xlimit=20 ylimit=20 pthreshold=3
module dejitter xdelta=20 ydelta=20 pthreshold=3
module linear
# ls lib/
libts-0.0.so.0 libts-0.0.so.0.1.0 libts.la libts.so
# ls share/ts/
plugins/
將lib及include的內容COPY至/usr/local/arm/3.4.1/arm-linux/[lib、include]中。同時在/opt/FriendlyARM/mini2440/root_nfs下建立一個目錄tslib
mkdir tslib
將主機…../tslib/build/下的五個文件夾COPY至該目錄下至此tslib交叉編譯安裝完畢。