参考文章1:http://www.directfb.com.cn/viewthread.php?tid=388&extra=page%3D1 参考文章2:http://blog.csdn.net/absurd/archive/2006/03/31/646446.aspx 获取svn版本点tslib源码 svn co svn://svn.berlios.de/tslib/trunk/tslib tslib 获得包后,交叉编译tslib cd /tslib source /etc/profile export CC=/usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-gcc export CXX=/usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-g++ export PREFIX=/usr/local/Trolltech/tslib ./autogen.sh echo "ac_cv_func_malloc_0_nonnull=yes" >arm-none-linux-gnueabi.cache CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-none-linux-gnueabi --prefix=$PREFIX --cache-file=arm-none-linux-gnueabi.cache make make install 交叉成功后在目标位置产生/bin、/etc、/include、/lib 4个文件夹 现在可以把目标位置的文件打包后丢到arm板上了,注意以下的环境设置是适合tslib1.4, 同时要注意自己的文件位置(以下设置可能只适合我一个人): 1、export TSLIB_ROOT=/usr/gtkdfb 2、export TSLIB_TSDEVICE=/dev/event0 export TSLIB_TSDEVICE=/dev/h3600_tsraw 对应ts.conf文件: event0 -- module_raw input h3600_tsraw -- module_raw h3600 这里看板子的支持情况:只要有一个就可以了。 如果设置了export TSLIB_TSDEVICE=/dev/event0 那么要修改/etc文件下的ts.conf文件,对应module_raw选项,打开module_raw input 由于buffer只接受512个字节,可以把ts.conf文件中的多余都行和注释去掉,使ts.conf在512个字节以下。 完整的ts.conf文件如下: module_raw input module pthres pmin=1 module variance delta=30 module dejitter delta=100 module linear 第一行是tslib从linux的输入设备读取数据时需要用到的模块,这里指定的模块为input,具体需要用到哪个模块,需要参考其他数据; 第二行的pthres为Tslib提供的触摸屏灵敏度门槛插件; 第三行的variance为Tslib提供的触摸屏滤波算法插件; 第四行的dejitter为Tslib 提供的触摸屏去噪算法插件; 第五行linear为Tslib提供的触摸屏坐标变换插件。 3、export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal 4、export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf 5、export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts 6、export TSLIB_CONSOLEDEVICE=none 7、export TSLIB_FBDEVICE=/dev/fb0 8、export LD_LIBRARY_PATH=$TSLIB_ROOT/lib 配置好变量后,可以运行/bin目录下的ts_calibrate或者其他,第一次应该运行ts_calibrate进行校正,然后会在指定位置产生pointercal文件 附录: 1、TSLIB_TSDEVICE -- 触屏的文件名 2、TSLIB_CALIBFILE -- 触屏校正信息保存文件 3、TSLIB_CONSOLEDEVICE -- 控制台设备文件名 4、TSLIB_PLUGINDIR -- tslib需要加载模块所在的目录 5、TSLIB_CONFFILE -- tslib配置文件 6、TSLIB_FBDEVICE -- framebuffer的文件名 7、LD_LIBRARY_PATH -- tslib用到的库文件路径 |
联系客服