如果想出发,就不要等到明天!
全部博文(317)
分类: 嵌入式
2009-08-30 18:20:37
一.硬件平台
1.主机: PC机,2G Memory 1.83 Cpu。
2.目标机: ARM 9 2410 。
二.软件平台
1.Fedora Core 7 (主机操作系统,VMware)
2.gcc 版本 4.1.2 20070502 (Red Hat 4.1.2-12)(主机编译器)
3.arm-linux-gcc(3.3.2)(交叉编译器)
4.qtopia-opensource-src-4.2.4.tar.gz (包含Qt,Qtopia core)
下载地址:
三.移植过程
约定:
1)Qtopia的编译安装顶级目录(即源码包:qtopia-opensource-src-4.2.4.tar.gz解压后所在目录)为:
/usr/local/Trolltech
2)交叉编译器的路径(即:arm-linux-gcc所在路径)为:
/usr/local/arm/3.3.2/bin
1. 设定环境变量
export PATH= /usr/local/arm/3.3.2/bin:$PATH
export QT=/usr/local/Trolltech
2. 解压源码包:
cd $QT
tar -zxf qtopia-opensource-src-4.2.4.tar.gz
3. 拷贝编译目标需要的文件"configure : -xplatform linux-arm-g++"
cd $QT/qtopia-opensource-4.2.4/ src/libraries/qtopiabase/
cp custom-linux-cassiopeia-g++.h custom-linux-arm-g++.h
cp custom-linux-cassiopeia-g++.cpp custom-linux-arm-g++.cpp
4. 添加触摸屏支持:
只要configure时候加入 -qt-mouse-linuxtp参数,并且做如下修改
1)在中qtopia-core-opensource-src-4.3.3\src\gui\embedded\qmouselinuxtp_qws.h加入
#define QT_QWS_IPAQ
#define QT_QWS_IPAQ_RAW
2)并在qmouselinuxtp_qws.cpp里把/dev/h3600_ts替换为自己板子的设备文件,我的板子的设备为/dev/h3600_tsraw,正好与qmouselinuxtp_qws.cpp中使用的设备中一致,就不用改了。
注意步骤2中如果只定义了#define QT_QWS_IPAQ则使用的是/dev/h3600_ts,如果两个都定义了则使用的是/dev/h3600_tsraw
5. 建立编译工作目录:
cd $QT
mkdir qtopia424
6. 配置编译选项:
../qtopia-opensource-4.2.4/configure -edition phone -xplatform linux-arm-g++ -arch arm -no-qvfb -release -displaysize 800*480 -no-modem -quicklaunch -defaultbuttons phone -prefix /qtopia424 -no-bluetooth -no-drm -no-drm -no-infrared -extra-qt-config "-qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg" -extra-qtopiacore-config '-depths 16 -qt-mouse-linuxtp -no-mouse-pc -no-mouse-bus -no-mouse-yopy -no-mouse-vr41xx -no-mouse-tslib -no-mouse-qvfb'
6. 编译:
make
7. 安装:
make install
注:默认安装目录为当前目录下的image目录(即:$QT/qtopia424/image目录)。
1. 运行环境配置:
因为配置编译选项时设定了”-prefix”参数为 “/qtopia424”,所以若目标机上要运行Qtopia系统,就必须把安装目录下的所有文件拷贝到目标机的文件系统根目录下的qtopia424目录。
即把$QT/qtopia424/image目录下的所有文件拷贝到目标机文件系统下的/qtopia424目录下。
2. 设置目标机运行环境变量:
export PATH=/qtopia424/bin:$PATH
export LD_LIBRARY_PATH=/qtopia424/lib:$LD_LIBRARY_PATH
export QWS_MOUSE_PROTO=LinuxTP:/dev/touchscreen/0
export QWS_DISPLAY="LinuxFb:mmWidth84:mmHeight108:0"
3. 运行Qtopia系统
qpe -qws