使用ARM开发详细步骤
一、编译QTE库
一般,如果你要做Qt/Embedded的开发,最好把Qt/Embedded编译成为两个版本,一个是主机版,一个是目标版。
1. 下载QTE
在获得Qt/Embeded的源码(free版的源码可在www.trolltech.com下载)之后,将其分别解压到两个目录(比如:/qte/qte-3.3.4-host/和:/qte/qte-3.3.4-target/)
2. 编译主机版本
1) export环境变量
export QTDIR=/qte/qte-3.3.4-host
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
2) 运行./configure
./configure -depths 4,8,16 -no-ipv6 -no-cups -no-pch -qvfb
3) 编译Qt/Embedded函数库
make sub-src
4) 编译Qt/Embedded辅助开发工具
cd tools;make
这一步就会成一个可以在主机环境(x86)下运行的uic指令,放在$QTDIR/bin目录中。
5) 如果qvfb编译不成功,可以从http://www.minigui.com/download/devtool.shtml下载一个
3. 编译目标版本
1) export环境变量
export QTDIR=/qte/qte-3.3.4-target
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
2) 运行./configure
cd $QTDIR
./configure -depths 4,8,16 -no-ipv6 -no-cups -no-pch -qvfb -embedded arm -qt-gif -thread -qt-mouse-linuxtp
3) 复制uic命令
cp /qte/qte-3.3.5-host/bin/uic /qte/qte-3.3.4-target/bin/
4) 为了支持触摸屏(和IPAQ兼容的)
在src/embedded/qmouselinuxtp_qws.h中加入
#define QWS_MOUSE_IPAQ
#define QWS_MOUSE_IPAQ_RAW
#define QT_QWS_IPAQ
5) 编译Qt/Embedded函数库
make sub-src
二、制定文件系统
原先QTE用的是2..X,,所以要将新的QTE库考入/qt/lib
三、制定内核
make config;
make dep
make clean
make boot
生成Image文件
四、烧写
1. 烧写BootLoader
2. 烧写Kernel
3. 烧写文件系统
五、编写测试程序
1. 编译QTE下的例子 hello 上传到目标机
2. 在目标机跑QTE程序,编写一个脚本运行
3. 编写pointercal文件
文件内容为
4523 0 -1575429 0 6184 -2356536 65536
4. 将上面三个文件上传到目标机/tmp目录下
在目标机跑QTE程序,编写一个脚本运行
#! /bin/sh
export HOME=/tmp
export QTDIR=/qt
export QPEDIR=/qt
export QWS_MOUSE_PROTO=LinuxTP:/dev/h3600_tsraw
export LD_LIBRARY_PATH=/qt/lib:$LD_LIBRARY_PATH
./hello -qws
一、编译QTE库
一般,如果你要做Qt/Embedded的开发,最好把Qt/Embedded编译成为两个版本,一个是主机版,一个是目标版。
1. 下载QTE
在获得Qt/Embeded的源码(free版的源码可在www.trolltech.com下载)之后,将其分别解压到两个目录(比如:/qte/qte-3.3.4-host/和:/qte/qte-3.3.4-target/)
2. 编译主机版本
1) export环境变量
export QTDIR=/qte/qte-3.3.4-host
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
2) 运行./configure
./configure -depths 4,8,16 -no-ipv6 -no-cups -no-pch -qvfb
3) 编译Qt/Embedded函数库
make sub-src
4) 编译Qt/Embedded辅助开发工具
cd tools;make
这一步就会成一个可以在主机环境(x86)下运行的uic指令,放在$QTDIR/bin目录中。
5) 如果qvfb编译不成功,可以从http://www.minigui.com/download/devtool.shtml下载一个
3. 编译目标版本
1) export环境变量
export QTDIR=/qte/qte-3.3.4-target
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
2) 运行./configure
cd $QTDIR
./configure -depths 4,8,16 -no-ipv6 -no-cups -no-pch -qvfb -embedded arm -qt-gif -thread -qt-mouse-linuxtp
3) 复制uic命令
cp /qte/qte-3.3.5-host/bin/uic /qte/qte-3.3.4-target/bin/
4) 为了支持触摸屏(和IPAQ兼容的)
在src/embedded/qmouselinuxtp_qws.h中加入
#define QWS_MOUSE_IPAQ
#define QWS_MOUSE_IPAQ_RAW
#define QT_QWS_IPAQ
5) 编译Qt/Embedded函数库
make sub-src
二、制定文件系统
原先QTE用的是2..X,,所以要将新的QTE库考入/qt/lib
三、制定内核
make config;
make dep
make clean
make boot
生成Image文件
四、烧写
1. 烧写BootLoader
2. 烧写Kernel
3. 烧写文件系统
五、编写测试程序
1. 编译QTE下的例子 hello 上传到目标机
2. 在目标机跑QTE程序,编写一个脚本运行
3. 编写pointercal文件
文件内容为
4523 0 -1575429 0 6184 -2356536 65536
4. 将上面三个文件上传到目标机/tmp目录下
在目标机跑QTE程序,编写一个脚本运行
#! /bin/sh
export HOME=/tmp
export QTDIR=/qt
export QPEDIR=/qt
export QWS_MOUSE_PROTO=LinuxTP:/dev/h3600_tsraw
export LD_LIBRARY_PATH=/qt/lib:$LD_LIBRARY_PATH
./hello -qws