时间:2017年10月16日
环境:Redhat Linux环境
目标机:tq2440-Linux平台
tslib1.4.tar.gz 源码:http://pan.baidu.com/s/1pKZVrOB
编译工具(天嵌提供):arm-linux-4.3.3
开始blabla:
这几天想把QT5.6移植到开发板进行实验,在网上查找之后一般先移植tslib,然后我就开始尝试移植这个tslib1.4了,之后遇到一些问题,在此总结说明一下。
一开始,我是按照这个博客:http://blog.163.com/zhuandi_h/blog/static/180270288201222310291262/ 教程进行移植的,然后发现在开发板上运行会出现:Illegal Instruction 错误
上网查找问题得出:这个一般是运行库的问题,然后我就把/tslib/lib/* 中的库换掉,换成arm-linux-4.3.3 里面的lib文件,然后在开发板运行
# ./ts_test
结果是可以运行了,然后运行
#./ts_calibrate
xres = 240, yres = 320 Took 14 samples… Top left : X = 276 Y = 795 Took 12 samples… Top right : X = 736 Y = 796 Took 11 samples… Bot right : X = 735 Y = 248 Took 7 samples… Bot left : X = 274 Y = 247 Illegal Instruction |
1、解压源码: # cd /tslib # tar xzvf tslib.tar.gz 2、自动生成Makefile等文件 # ./autogen.sh 3、进行配置 # ./configure --host=arm-linux --prefix=/usr/local/tslib ac_cv_func_malloc_0_nonnull=yes --enable-inputapi=no //说明:--host=arm-linux 指明目标环境;--prefix=/usr/local/tslib 指明待会要安装tslib的路径;ac_cv_func_malloc_0_nonnull=yes 这个是为了解决编译的问题的;--enable-inputapi=no.是为了解决运行中提示 ts_open:Inappropriate ioctol for device,它表示即不使用ioctl来控制触摸屏。 4、编译源码 # make 5、安装 # make install 6、移植文件 将安装到/usr/local/目录下的tslib/目录拷贝到开发板的/usr/local/目录下 7、配置/tslib/etc/ts.conf文件 去掉module_raw input 前面的#号键,并且这句话前面不能有空格,否则运行的时候会出现错误!!!!! 结果如下: module_raw input module pthres pmin=1 module variance delta=30 module dejitter delta=100 module linear |
#在/etc/profile后面添加下面的东西
#...................................... #你在开发板安装tslib路径 export TSLIB_ROOT=/usr/local/tslib #你开发板触摸屏输入设备设备文件路径和名称 export TSLIB_TSDEVICE=/dev/event0 #触摸屏配置 export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts #触摸屏校准后要保存数据到的文件 export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONSOLEDEVICE=none #你的显示屏设备 export TSLIB_FBDEVICE=/dev/fb0 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib |
10、运行测试
运行校准程序,触摸屏依次出现5个点,依次点击之:
11、完成Over# ./ts_calibrate
xres = 240, yres = 320
Took 14 samples…
Top left : X = 276 Y = 795
Took 12 samples…
Top right : X = 736 Y = 796
Took 11 samples…
Bot right : X = 735 Y = 248
Took 7 samples…
Bot left : X = 274 Y = 247
Took 7 samples…
Center : X = 505 Y = 524
-33.156189 0.304019 -0.000832
369.119629 0.000871 -0.401456
Calibration constants: -2172924 19924 -54 24190624 57 -26309 65536