1.下载 tslib-1.4.tar.gz压缩包
2.然后在ubuntu编译:
tar xzf tslib-1.4.tar.gz
cd tslib
./autogen.sh
mkdir tmp //创建安装目录
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache //设置参数
./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=$(pwd)/tmp //配置到tmp目录下
make //编译
make install //安装到temp目录下
cd tmp //进入tmp, 将tmp里面的bin ,etc,include,lib4个目录下的文件拷贝到文件系统的bin ,etc,include,lib4个目录下
cp * /文件系统根目录/ -rfd //强制拷贝temp/下所有文件到/文件系统根目录/下,-d:保持链接,原来的是链接,复制过来的还是链接
//考完bin ,etc,include,lib 4个目录下的所有文件
3.然后进入开发板,使用nfs:
修改参数:(原理尚不清楚)
vi /etc/ts.conf
//# module_raw input
//改为:
//module_raw input
然后装载驱动,再配置LCD和触摸屏环境:
export TSLIB_TSDEVICE=/dev/event0 //ts设备文件(触摸屏):event0
export TSLIB_CALIBFILE=/etc/pointercal //校验文件(calibrate file),存放校验值
export TSLIB_CONFFILE=/etc/ts.conf //配置文件
export TSLIB_PLUGINDIR=/lib/ts //插件文件
export TSLIB_CONSOLEDEVICE=none //终端控制台设为NULL
export TSLIB_FBDEVICE=/dev/fb0 //fb设备文件(LCD):fb0
4、注意事项:
1)运行./autogen.sh时,显示下图内容
可能原因之一是:没有安装automake工具。解决方法如下:
- sudo apt-get install autoconf
- sudo apt-get install automake
- sudo apt-get install libtool
2)对于配置文件,在开发板可以通过命令ls -l /etc/devent* 查看触摸屏设备,通过ls -l /etc/fb*查看显示屏设备
3)开发板运行ts_calibtates时:显示下图所示,可以使用chmod更改权限。
显示下图所示内容时:可能原因:1、创建根文件系统时,没有把交叉编译器的sys内容拷贝到自己所做的根文件系统。
2、这里我的原因是:以前用arm-gcc-3.5中的sys创建的根文件系统,但编译tslib时,使用的却是arm-gcc-4.6.4,然后导致错误产生。其实原理和第一种情况类似。
5、校验测试:
ts_calibrate进行校验测试
ts_test进行绘图等测试