sudo apt-get install automake sudo apt-get install autogen sudo apt-get install autoconf
sudo apt-get install libtool
# tar -zxvf tslib-1.4.tar.gz # cd tslib # ./autogen.sh echo "ac_cv_func_malloc_0 _nonnull=yes">arm-linux.cache # ./configure --host= arm-none-linux-gnueabi --cache-file=arm-linux.cache --enable-inputapi=no -prefix=/usr/local/tslib # make # make install-prefix=/usr/local/tslib是指定安装路径,其实包括下文的安装配置,路径都可以不指定,默认就是安装到/usr/local/目录下
3. 执行 make 出错error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
解决方法:
vim ./tests/ts_calibrate.c +227 open();
修改cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR ,0)(据说是交叉编译器版本问题)
4:make install
5、修改ts.conf内容
# vi /usr/local/tslib/etc/ts.conf
module_raw input module pthres pmin=1 module variance delta=30 module dejitter delta=100 module linear
然后将整个tslib文件夹,下载到开发板的对应路径下(/usr/local)。
6、开发板配置环境变量
通过超级终端,# vi /etc/profile
添加如下内容(绿色):
export TSLIB_ROOT=/usr/local/tslib export TSLIB_TSDEVICE=/dev/input/event0 指定触屏设备 export TSLIB_CALIBFILE=/etc/pointercal 指定触摸屏校准文件pintercal的存放位置 export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf 指定TSLIB配置文件的位置 export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts 指定触摸屏插件所在路径 export TSLIB_FBDEVICE=/dev/fb0 指定帧缓冲设备 export TSLIB_CONSOLEDEVICE=none 设定控制台设备为none,否则默认为/dev/tty,这样可以避免出现“open consoledevice: No such file or directory KDSETMODE: Bad file descriptor”的错误 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
另外,要确保在/dev/input/目录下有event0设备文件,在/dev/目录下有fb0设备文件,如果没有,在执行下面./ts_calibrate的时候,会报出“open *: No such file or directory”的错误,这时,我们需要手动创建设备文件:
# mknod /dev/input/event0 c 13 64 # mknod /dev/fb0 c 29 0
7、执行测试命令
重启开发板,在 /usr/local/tslib/bin 目录下,输入./ts_calibrate,出现tslib的触摸屏五点校准画面,至此,tslib的安装移植成功完成。