问题二:
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
//避免检查ac_cv_func_malloc_0_nonnull
若出现提示: undefined reference to rpl_malloc
解决:
发现config.h.in和config.h里定义了
#undef malloc
#undef realloc
把这两个用//注释掉,编译顺利通过。
问题三:
/usr/local/tslib/bin # ./ts_calibrate
提示:
No raw modules loaded.
解决:修改ts.conf
/usr/local/tslib # vi etc/ts.conf
问题四:
tslib库selected device is not a touchscreen I understand解决.
解决: 1.将内核源代码里的include/linux/input.h中的 #define
EV_VERSION 0x010001 改为: #define
EV_VERSION 0x010000 2.将arm交叉编译工具中的头文件库中的 linux/input.h中的 #define
EV_VERSION 0x010000 改为 #define
EV_VERSION 0x010001 再编译tslib库 一般第一种就可以解决问题了,因此,出现上面情况时,先不要急于换版本,如果二者版本不等,那么改一个就可以
我自己修改内核VERSION为 0x010000和0x010001都不行。
后来把编译器的改成0x010001时,内核为0x010001时可以使用
编译器:
[root@localhost 4.5.1]# grep "EV_VERSION" * -nR
arm-none-linux-gnueabi/sys-root/usr/include/linux/input.h:32:#define
EV_VERSION 0x010001
内核代码:
# vim /home/test/4-3-1/linux-3.0.1/include/linux/input.h
#define EV_VERSION 0x010001 // gjl 0x010001
问题五:
./ts_calibate 校准触摸屏后未产生校准文件,提示Illegal instruction
百度提示不支持浮点型?
解决:
用4.4编译器的glibc库,解决了非法指令,可能是其他编译器的glib库不完整导致。
全套换成4.4编译器的
/usr/local/tslib/bin # ./ts_calibrate
xres = 480, yres = 272
Took 5 samples...
Top left : X = 12442 Y = 9939
Took 4 samples...
Top right : X = 4159 Y = 9793
Took 4 samples...
Bot right : X = 4092 Y = 6531
Took 3 samples...
Bot left : X = 12635 Y = 6443
Took 4 samples...
Center : X = 8458 Y = 8201
624.591797 -0.045147 -0.000891
550.521240 0.000166 -0.050836
Calibration constants: 40933248 -2958 -58 36078960 10 -3331
65536
校正后生成校准文件
小结:这里使用4.4.1编译器,编译器和内核都使用EV_VERSION
0x010001,glib使用4.4.1里面的。就成功移植了tslib。