参考:http://www.arm9home.net/read.php?tid=3899
关键词:mini2440 s3c2440 qtopia 触摸屏校准
这是在网上看一哥们的描述:
一、移植过程:
1、系统配置文件为内核自带的s3c2410_defconfig稍微修改而得来;
2、将友善光盘自带的2.6.29内核中的s3c2410_ts.c, mini2440_adc.c, s3c24xx-adc.h这三个文件编译到2.6.30.4内核的对应位置;
3、在内核配置中,将这两个模块选上. 另对比了一下友善2.6.29配置文件的input device部分,没有发现异常;
4、文件系统为光盘内编译好的QT镜像。
二、现象:
1、加载ROOT完成后,画面停在QT的那个绿色欢迎图片那里,"Tap anywhere on the screen to continue."
2、点触摸幕没反应.
3、内核启动打印信息显示,ADC和TS两个模块都成功加载.
adc initialized
s3c2410 TouchScreen successfully loaded
input: s3c2410 TouchScreen as /class/input/input0
4、在终端输入命令: cat /proc/bus/input/devices 显示结果如下:
I: Bus=0013 Vendor=dead Product=beef Version=0101
N: Name="s3c2410 TouchScreen"
P: Phys=
S: Sysfs=/class/input/input0
U: Uniq=
H: Handlers=event0 evbug
B: EV=b
B: KEY=0
B: ABS=1000003
三、解决方法(软件方面的):
在板子根文件系统,/bin目录下有一个QT初始化的脚本qtopia,在终端下输入命令:
#cat /bin/qtopia
[root@FriendlyARM /]# cat /bin/qtopia #!/bin/sh export TSLIB_TSDEVICE=/dev/input/event0 export TSLIB_CONFFILE=/usr/local/etc/ts.conf export TSLIB_PLUGINDIR=/usr/local/lib/ts export TSLIB_CALIBFILE=/etc/pointercal export QTDIR=/opt/Qtopia export QPEDIR=/opt/Qtopia export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH TS_INFO_FILE=/sys/devices/virtual/input/input0/uevent if [ -e $TS_INFO_FILE -a "/bin/grep -q TouchScreen < $TS_INFO_FILE" ]; then export QWS_MOUSE_PROTO="TPanel:/dev/input/event0 USB:/dev/input/mice" if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then rm /etc/pointercal fi else export QWS_MOUSE_PROTO="USB:/dev/input/mice" >/etc/pointercal fi unset TS_INFO_FILE export QWS_KEYBOARD=TTY:/dev/tty1 export KDEDIR=/opt/kde export HOME=/root exec $QPEDIR/bin/qpe 1>/dev/null 2>/dev/nullTS_INFO_FILE=/sys/devices/virtual/input/input0/uevent
我以为我也是这种原因,谁知道改了也没用,有人说这样改可以可好(qtopia我不太熟悉,android知道一些),最后发现我们不是同一个问题,
======================乌龙分界线========================
四、我的问题(SB呀):
很简单,触摸屏线掉了,重新焊一下就OK了。
我们要复制开发板的硬件,把板子全部拆开过,包括屏、触摸屏,把那个触摸屏的屏线搞掉了一根,乌龙,欧洲杯踢到现在还没出“乌龙”。
2012欧洲杯战况:
波兰1:1希腊 俄罗斯4:1捷克
荷兰0:1丹麦 德国1:0葡萄牙
西班牙1:1意大利 爱尔兰1:3克罗地亚
法国1:1英格兰 乌克兰2:1瑞典