一、在ubuntu下編譯tslib1.4
1、下載tslib-1.4.tar.gz
http://download.csdn.net/detail/it_newborn/5675271
2、解壓tslib-1.4.tar.gz
tar zxvf tslib-1.4.tar.gz
3、進入tslib
cd tslib
4、執行./autogen.sh
5、配置tslib1.4的編譯環境
./configure --prefix=/usr/local/tslib/ --host=arn-none-linux-gnueabi ac_cv_func_malloc_0_nonull=yes
6、make
7、make install
這時,tslib1.4已經安裝到了/usr/local目錄,在/usr/local目錄下生成了tslib文件夾,ubuntu下的編譯工作已經完成
二、移植到開發板
1、打包生成的tslib文件
cd /usr/local/tslib
tar zcvf tslib.tgz etc include bin lib
2、將打包好的tslib.tgz拷到開發板文件系統的/usr/tslib目錄,可以通過U盤,NFS等方式
3、解壓該文件
首先使用gzip解壓爲tar文件
gzip -dv tslib.tgz
這時會生成tslib.tar文件
然後使用tar命令解壓
tar xvf tslib.tar
4、編輯/usr/local/etc下的ts.conf文件,編輯內容如下:
module_raw input
module pthres p min=1
module variance deita=30
module dejitter deita=10000
module linear
注意:module_raw前面不能有空格,否個會出現segmentation fault的錯誤
5、編輯/etc/profile文件,在後面添加如下環境變量:
export TSLIB_ROOT=/usr/tslib
export LD_LIBRARY_PATH=/usr/tslib/lib
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=/usr/tslib/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_FBDEVICE=/dev/fb0
注意:TSLIB_TSDEVICE根據不同的開發板可能會有差異,進入開發板系統後查詢/dev目錄下的文件,通常在input下會有觸摸屏的驅動程序文件,我的是event0,所以對應的設備節點填/dev/input/event0
6、重啓開發板
7、測試TSLIB
cd /usr/tslib/bin
./ts_calibrate
./ts_test
如果出現沒有這個目錄的錯誤提示,通常爲TSLIB_TSDEVICE路徑沒有設置正確
如果出現segmentation fault的錯誤,通常爲ts.conf中格式不對,如前面多加了空格等,如果在/etc目錄下存在pointercal這個校準文件,則執行./ts_calibrate或是./ts_test,也會出現這個錯誤,那麼把這個校準文件刪掉即可