tslib 觸屏移植

一、tslib庫的編譯:

1、在tslib官網上下載tslib-1.4的源碼:tslib-1.4.tar.gz

2、cd /home/ubuntu (ubuntu是我開發板的用戶名稱)

3、將tslib-1.4.tar.gz放在/home/ubuntu下面;(方法:1、可以通過共享文件;2、也可以直接從Windows中直接拖進來;建議使用共享文件)

4、tar -zxvf tslib-1.4.tar.gz

5、cd tslib

6、mkdir Arm-tslib (下面會將tslib庫安裝在這個文件夾)

7、./autogen-clean.sh(注意:每次在編譯失敗後都要執行,這是清除作用)

8、./autogen.sh 

出現:./autogen.sh:4:autoreconf:not found 錯誤

9、sudo apt-get install autoconf automake libtool

10、./autogen-clean.sh

11、./autogen.sh

12、./configure   --host=arm-none-linux-gnueabi  ac_cv_func_malloc_0_nonnull=yes 

 --cache-file=arm-linux.cache   -prefix=/home/ubuntu/tslib/Arm-tslib

注意:--host=arm-none-linux-gnueabi(指定交叉工具鏈,可根據需要修改)

           -prefix=/home/ubuntu/tslib/Arm-tslib(指定安裝目錄,可根據需要修改)

13、在/tests/ts_calibrate.c中加入open的第三個參數0777,否則make時會出現錯誤

即:vim tests/ts_calibrate.c

修改227行和229行

if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {

    cal_fd = open (calfile, O_CREAT | O_RDWR, 0777);

} else {

    cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR, 0777);

}

或者

        if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {
            cal_fd = open (calfile, O_CREAT | O_TRUNC | O_RDWR,
                           S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
        } else {
            cal_fd = open (TS_POINTERCAL, O_CREAT | O_TRUNC | O_RDWR,
                           S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
        }

14、make

15、make install

16、此時可以在Arm-tslib文件中看到4個文件: bin    etc     include     lib  

17、

進入Arm-tslib/etc下面,修改ts.conf如下,其他的都不變

將第二行# module_raw input 前面的空格和#刪除 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章