tslib 触屏移植

mac2024-03-14  20

一、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 前面的空格和#删除 

最新回复(0)