参考的那文章是用nfs挂载启动,我使用的是直接nfs根文件系统的。
看上去没多少差别,但是对偶这菜鸟级的,可折腾了挺久了。
而且自己做一遍总是碰到这样那样的问题。
还算顺利,留个笔记。
参考:http://blog.ifeng.com/article/1659857.html
下面做的前提是已经移植好了触摸屏的驱动和tslib1.3
http://blog.ednchina.com/qiu1123/216948/message.aspx
http://blog.ednchina.com/qiu1123/217785/message.aspx
---------------编译 Qtopia OpenSource 4.2.0 到ARM2410----------
安装目录为:/nfs/opt/qtopia4 (NFS根文件系统启动)
目标目录为:/opt/qtopia4
[root@Linux QT4]# tar -zxvf qtopia-opensource-src-4.2.0.tar.gz
[root@Linux QT4]# cd qtopia-opensource-4.2.0/
-----------------修改源码包 ------------
[root@Linux qtopia-opensource-4.2.0]# cd src/libraries/qtopiabase/
[root@Linux qtopiabase]# cp custom-linux-cassiopeia-g++.h custom-linux-arm-g++.h
[root@Linux qtopiabase]# cp custom-linux-cassiopeia-g++.cpp custom-linux-arm-g++.cpp
--------------修改3.4.1版的arm编译器---------------
# cd /usr/local/arm/3.4.1/
# vi arm-linux/include/linux/videodev2.h
在其中添加如下内容:
#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B','A','8','1')
/* 8 BGBG.. GRGR.. */
保存退出。
# vi arm/3.4.1/arm-linux/sys_include/linux/videodev2.h
在其中添加如下内容:
#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B','A','8','1')
/* 8 BGBG.. GRGR.. */
保存退出。
-------------裁减Qtopia core的库 ---------------
# gedit qtopiacore/qconfig-qpe.h
首先注释掉关于鼠标光标的宏定义,让程序运行时,触摸屏中央有光标出现:
/*
#ifndef QT_NO_QWS_CURSOR
# define QT_NO_QWS_CURSOR
#endif
*/
/*
#ifndef QT_NO_QWS_MOUSE
# define QT_NO_QWS_MOUSE
#endif
#ifndef QT_NO_QWS_MOUSE_AUTO
# define QT_NO_QWS_MOUSE_AUTO
#endif
*/
[root@Linux qtopiacore]# cp qconfig-qpe.h qt/src/corelib/global/
-------------注释掉文件里的QT_NO_QWS_CURSOR的定义 -------------
# vi qtopiacore/qt/src/corelib/global/qfeatures.h
注释掉如下内容:
/*
#if !defined(QT_NO_QWS_CURSOR) && (defined(QT_NO_CURSOR))
#define QT_NO_QWS_CURSOR
#endif
*/
# vi qtopiacore/qt/src/corelib/global/qglobal.h
注释掉以下内容:
//# define QT_NO_QWS_CURSOR
------------- 配置并编译 -------------------------
echo "yes"| ./configure -silent -release -image /nfs/opt/qtopia4 -prefix /opt/qtopia4/ -xplatform linux-arm-g++ -arch arm -no-qvfb -displaysize 240x320 -no-modem -extra-qtopiacore-config "-release -xplatform qws/linux-arm-g++ -embedded arm -opengl -qconfig qpe -qt-sql-sqlite -depths 4,8,16,32 -qt-kbd-usb -no-kbd-tty -no-mouse-linuxtp -qt-mouse-tslib -I/nfs/opt/tslib1.3/include -L/nfs/opt/tslib1.3/lib" 2>../qtopiaconfigureERR.txt
# make 2>../qtopiamakeERR.txt
# make install
------------- 建立时区信息 --------------------
[root@Linux usr]# pwd
/nfs/usr
[root@Linux usr]#mkdir zoneinfo
[root@Linux usr]#cp -a /usr/share/zoneinfo/* zoneinfo/
---------------运行测试-------------------------
建立:test_qtopia.sh
export TS_ROOT=/opt/tslib1.3
export TSLIB_TSEVENTTYPE=H3600
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/tsraw0
export TSLIB_CALIBFILE=$TS_ROOT/etc/pointercal
export TSLIB_CONFFILE=$TS_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TS_ROOT/share/ts/plugins
export QWS_SIZE=240x320
export QWS_MOUSE_PROTO="Tslib:/dev/input/tsraw0"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TS_ROOT/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/qtopia4/lib
cd $TS_ROOT/bin
./ts_calibrate
cd /opt/qtopia4/bin
if [ -f "$TSLIB_CALIBFILE" ]; then
./qpe -qws &
else
$TS_ROOT/bin/ts_calibrate
./qpe -qws &
fi
# chmod 777 test_qtopia.sh
终端执行结果:
[root@Qiu /opt]# ls
qtopia4 test_qtopia.sh tslib1.3
[root@Qiu /opt]# ./test_qtopia.sh
xres = 240, yres = 320
Took 34 samples...
Top left : X = 209 Y = 805
Took 30 samples...
Top right: X = 765 Y = 812
Took 5 samples...
Bot right: X = 751 Y = 172
Took 20 samples...
Bot left : X = 754 Y = 185
Took 11 samples...
Middle: X = 487 Y = 504
-61.636841 0.227446 0.094260
331.440186 0.001923 -0.348227
Calibration constants: -4039432 14905 6177 21721264 126 -22821 65536
sh: missing ]
xres = 240, yres = 320
Took 30 samples...
Top left : X = 235 Y = 819
Took 26 samples...
Top right: X = 768 Y = 815
Took 26 samples...
Bot right: X = 763 Y = 190
Took 13 samples...
Bot left : X = 249 Y = 206
Took 15 samples...
Middle: X = 487 Y = 485
-14.530426 0.267151 0.001686
341.739105 -0.006306 -0.355037
Calibration constants: -952266 17508 110 22396214 -413 -23267 65536
[root@Qiu /opt]# No IRDA devices found!
没图贴上啦,手头没东西可以照相的...有机会再贴上来。
我的屏幕是竖屏的,出来的图像不知道为什么有些偏小,不知道哪里还需要设置。字体也偏小。
自己解决啦:
export QWS_DISPLAY="LinuxFb:mmWidth45:mmHeight55:0"
加上这个变量就OK啦。
上几张图,但是用摄像头的效果不好就是了,不知道怎么汉化这个。
做毕业设计的屏没触摸....:(
改了句话让他支持USB鼠标:
export QWS_MOUSE_PROTO=MouseMan:/dev/input/mice
当然前提驱动移植好的情况下。
---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
参考:
用户1679196 2009-7-11 14:55
用户1565960 2009-7-5 22:34
用户1679196 2009-4-30 08:34
用户1464332 2009-4-30 07:47
用户1679196 2009-4-28 15:18
用户1679196 2009-4-28 15:14
用户1464332 2009-4-28 12:48
用户1679196 2009-4-28 10:39
用户1464332 2009-4-27 13:38
用户1464332 2009-4-27 13:13