当前位置:文档之家› OK6410+QT移植百科全书(1)

OK6410+QT移植百科全书(1)

OK6410QT移植百科全书

飞凌嵌入式

致力于打造一流的嵌入式开发平台

目录

第一章前言 (5)

第二章QTOPIA和QT/E简介 (6)

2-1Qtopia简介 (6)

2-2Qt/Embedded简介 (6)

第三章QTOPIA4.4.3和TSLIB 1.4的编译 (7)

3-1tslib的编译和配置 (7)

3-1-1tslib编译方法 (7)

3-1-2配置tslib (8)

3-2编译qt-extended-4.4.3 (10)

第四章QTOPIA4.4.3的使用 (15)

4-1为Qtopia4.4.3的运行准备网络文件系统 (15)

4-2启动Linux,运行Qtopia4.4.3 (17)

第五章QTOPIA2.2.0编译说明 (23)

5-1编译前的准备工作 (24)

5-2编译第三方库 (26)

5-2-1交叉编译jpeg库 (26)

5-2-2交叉编译e2fsprogs-1.40.2 (28)

5-2-3交叉编译libpng库 (29)

5-2-4交叉编译zlib (29)

5-3qtopia-free-forlinx-2.2.0的编译 (30)

5-3-1qtopia-free-forlinx-2.2.0源码编译方法 (30)

5-3-2关于一些bug的处理 (31)

第六章QTOPIA2.2.0的使用 (50)

第七章QTOPIA2.2.0的本地化 (54)

7-1安装linguist-qt4软件 (54)

7-2汉化界面 (55)

7-3运行Qtopia (59)

第八章QT/E4.7的编译和使用说明 (62)

8-1Qt/E4.7的编译 (62)

8-2Qt/E4.7的使用 (64)

67第九章使用集成开发环境开发QT应用程序..........................................................................................

(67)

9-1建立QtCreator开发环境 (67)

9-2QtCreator环境制作属于您的HelloWorld (69)

9-3运行您亲手制作的HelloWorld (79)

第十章附录 (80)

10-1QT资料文件说明 (80)

修订版本较上一版本所更新内容

V1.0第一版本

1、飞凌嵌入式开发平台手册在不断更新完善中,请用户及时下载相应平台的最新使用手册。下载地址:https://www.doczj.com/doc/dc3135685.html,/Download.htm

注册信息无误的情况下,注册24小时内开通下载权限。建议开发板到手后及时注册。

2、在您的使用过程中如果遇到相关技术问题,欢迎访问飞凌官方论坛寻求答案,或者发帖求援。论坛地址:https://www.doczj.com/doc/dc3135685.html,/.除此之外还可以加入飞凌QQ讨论群,与其他使用者进行沟通交流。QQ群相关信息请访问飞凌官方网站进行查询。网址:https://www.doczj.com/doc/dc3135685.html,

3、飞凌技术服务热线:4006996866

4、本手册版权归属飞凌嵌入式有限公司所有,并保留一切权利。任何单位及个人不得擅自摘录本手册部分或全部内容。

第一章前言

一直以来,QT的移植作为嵌入式学习的一大难题,始终困扰着初入此行的工程师。这方面的资料虽然不少,但仍不够系统和详细,使得学习起来相当吃力。初学者常常因为一个细节没有注意到而花费过长的时间;同时,QT本身比较庞大,涉及的知识点较多,这也给学习带来很大的障碍。本手册由飞凌一线工程师撰写,并经过反复测试和修改,力图使广大用户迅速掌握QT的移植方法。需要说明的是,这里详细介绍了QT移植方面的知识,关于应用开发方面的内容将单独作为一个教程来讲解。

飞凌嵌入式为您带来全新的根文件系统、Qtopia2.2、Qtopia4.4.3、Qt/E4.7的编译方法以及源码、tslib最新版本——tslib1.4。

为了配合讲解,首先要说明一下

1.本次发布Qtopia4.4.3+Qtopia

2.2.0+Qt/E4.7需要更新内核文件。新的内核nandflash 的mtdblock3分区有500MB,使文件系统中能存放Qtopia桌面环境及应用程序。为了验证自己编译的QT是否可以运行,您要学会使用开发板启动Linux并挂载nfs(网络文件系统)。nfs启动linux在OK6410的Linux使用手册中有详细的讲解。

2.Qtopia2.2.0是PDA版本,一个比较传统的版本。很早之前,飞凌推出了Qtopia2.2.0在Redhat Linux9移植方法,许多朋友一直在使用Qtopia2.2.0。为此,我们拿出时间来,在Ubuntu Linux9.10环境中移植Qtopia2.2.0,为飞凌的老朋友和新朋友送上了Qtopia2.2.0全新环境的编译方法。

飞凌嵌入式的Qtopia4.4.3是诺基亚发布最终的手机桌面版本,也是目前嵌入式开发平台上很流行,具有超酷的桌面环境。

由于Qt/E4.7.0的库存在bug,而Qt/E4.7.1修复了这些bug,所以此次提供的版本是Qt/E4.7.1库。为了便于描述,以下将Qt/E4.7.1简称Qt/E4.7。

第二章Qtopia和Qt/E简介

2-1Qtopia简介

Qtopia是Trolltech公司为采用嵌入式Linux操作系统的消费类电子设备而开发的综合应用平台,Qtopia包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序启动程序以及开发框架。Qtopia的特性如下所示:

●窗口操作系统

●同步框架

●开发环境

●本地化支持

●游戏和多媒体

●PIM应用程序

●输入法

●个性化选项

●工作辅助应用程序

●Internet应用程序

●Java集成

●无线支持

Trolltech提供三大Qtopia版本:Qtopia手机版Qtopia PDA版和Qtopia消费电子产品平台,2008年Trolltech公司被诺基亚收购。

2-2Qt/Embedded简介

Qt/Embedded是一个多平台的C++图形用户界面开发工具包,它注重于能给用户提供精美的图形界面所需的所有元素,而且其开发过程是基于面向对象的编程思想,并且Qt/Embedded支持真正的组件编程。

第三章Qtopia4.4.3和Tslib 1.4的编译

PC环境:Ubuntu9.10

开发板:OK6410和TE6410

交叉编译器:arm-linux-gcc-4.4.1

3-1tslib的编译和配置

编译和运行qt-extended-4.4.3(Qtopia4),需要tslib库,该库是触摸屏校准时需要的库文件,如对触摸屏的数据进行过滤、去抖动等,QT的库会调用tslib的库文件

3-1-1tslib编译方法

步骤1.安装autoconf、automake、libtool包

在Ubuntu命令行中分别执行以下三个升级命令。

#sudo apt-get install autoconf

#sudo apt-get install automake

#sudo apt-get install libtool

步骤2.进入tslib目录

#cd tslib/

步骤3.设置环境变量,指向交叉编译器路径

#export PATH=/usr/local/arm/4.4.1/bin:$PATH

#export TOOLCHAIN=/usr/local/arm/4.4.1

#export TB_CC_PREFIX=arm-linux-

#export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-linux

步骤4.运行脚本

#./autogen.sh

#echo"ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache

步骤5.配置安装参数

#./configure--host=arm-linux

--cache-file=arm-linux.cache

--enable-inputapi=no

PLUGIN_DIR=/usr/local/arm/tslib/plugins

-prefix=/usr/local/arm/tslib/build

-host=arm-linux

--cache-file=arm-linux.cache2>&1|tee conf_log

步骤6.编译

#make2>&1|tee make_log

#make install

3-1-2配置tslib

步骤1.编译后会出现bulid目录。进入build目录,编辑‘ts.conf’文件

#cd build/etc

#gedit ts.conf

注意:打开文件后如下图所示,编辑该文件,去掉‘module_raw input’前面的#号和空格。如果‘module_raw input’前面留有空格的话,运行测试软件时会提示‘Segmentation fault’。

步骤2.然后检查主机目录‘/usr/local/arm/’下面是否已经有了‘tslib’文件夹,如果有的话,请修改配置文件‘ts.conf’,如下图所示。

如果主机目录‘/usr/local/arm/’下没有‘tslib’文件夹,请将前面编译好的‘build’文件夹拷贝到‘/usr/local/arm’目录下,然后把‘build’改名为‘tslib’。另外需要把这个‘tslib’文件夹放到网络文件系统目录中的‘/usr/local’下面,我的是‘/forlinux/root/usr/local/’。最后,进入到开发板的‘/usr/local’下面,如图:

进入到tslib目录下面:

Qtopia4.4.3运行时会使用这里的文件。

3-2编译qt-extended-4.4.3

编译前需要注意的是:

1编译Qtopia时确保您的Ubuntu9.10环境中安装了GNU g++编译器,在Qtopia编译过程中会用它来编译一些在PC上运行的工具软件。

2注意您的Ubuntu中要安装X11的SDK库,Qtopia编译过程中需要使用X11SDK里的一些头文件,使用以下命令即可安装需要的文件:

#apt-get install libx11-dev libxext-dev libxtst-dev

3如果使用虚拟机编译源码,请不要把源码放在共享的目录中来编译,否则会编译出错。

步骤1.新建目录‘/witech’。

#mkdir/witech

然后修改‘/witech’的使用权限:

#chmod777/witech–R

步骤2.把飞凌提供的‘ARM-qt-extended-opensource-src-4.4.3.tar.gz’压缩包(该文件位于发布包中)拷贝到‘/witech’路径下,并解压:

#tar zxvf ARM-qt-extended-opensource-src-4.4.3.tar.gz

步骤3.进入‘/witech’

#cd/witech

步骤4.可以看到编译脚本build,直接执行编译脚本build即可开始编译

#./build

执行后,将会生成以下几个文件及文件夹。

编译过程如下图所示。Qt/E源码包很大,所以需要较长时间,一般是三到四个小时。

步骤5.编译完成后如下图所示:

这时,在‘builddir’目录下会生成‘SDK’和‘Image’,‘SDK’是在开发板上开发Qt

图形界面软件的API库,另外还有国际化工具等工具软件。而‘Image’目录下的文件,就是我们期盼已久的Qtopia4.4.3可执行文件。

第四章Qtopia4.4.3的使用

首先,您需要掌握如何从NFS启动开发板的linux,以便于在日后调试Qt/E。如果对如何通过NFS启动开发板上的linux不是很熟悉,可以参考飞凌Linux使用手册。这里,假设已经把NFS启动linux的环境搭建好。并使用本次提供的文件系统包作为NFS的挂载目录。

4-1为Qtopia4.4.3的运行准备网络文件系统

步骤1.本章的演示实验NFS挂载的目录是‘/forlinx/root’。将飞凌提供的root.tar.gz 在PC的‘/forlinx/root’目录下解压。然后删除root目录中解压出来的Qtopia4.4.3。最后将前面编译出来的‘image’目录整体拷贝到‘/forlinx/root/opt’中:

#cp/witech/arm-qt-extended-4.4.3/builddir/image/forlinx/root/opt

步骤2.然后将image目录改名为Qtopia4.4.3

#mv image Qtopia4.4.3

完成以上的操作后,如下图:

回到Ubuntu的图形界面,并进入Qtopia4.4.3目录:

下面介绍一下每个目录的含义:

bin:用于存放Qtopia的应用程序,如clock软件、Qtopia自带的应用软件、qpe(Qt/E 的桌面环境)可执行文件等都在这里。

etc:Qtopia的配置文件,您可以修改这里面的文件来定制Qtopia的运行风格,比如字体图标变大,界面改变主题等。

help:里面放着关于Qt/Qtopia的帮助页面,是学习研究Qt、Qtopia的重要资料,可以用浏览器打开观看。

i18n:Qt/Qtopia的国际化部分,也就是对多语种的支持。

lib:库文件,Qt/Qtopia运行需要的库文件,含有编译Qt形成的库文件以及编译Qtopia 生成的库文件。

pics:图片文件夹,Qt/Qtopia运行时需要的图片文件。

sounds:声音文件夹,Qt/Qtopia运行时需要的声音文件。

plugins:Qtopia的插件,插件可以理解为完成一定功能的库文件,如libqjpeg.so完成JPEG图像的处理工作。

qt_plugins:qt的插件。

services:服务模块,用来完成特定的服务功能。

步骤4.接下来,修改rcS启动文件,让Linux启动后直接运行Qtopia4.4.3:打开文件‘/forlinx/root/etc/init.d/rcS’,将最后一行修改为./bin/qtopia4&

4-2启动Linux,运行Qtopia4.4.3

经过以上的操作后,终于可以执行酷酷的Qtopia4.4.3的桌面系统了。启动开发板NFS的Linux,启动完成后,使用‘ps’命令查看一下进程列表信息,如下图,说明已成功的运行了Qtopia4。

显示屏显示Otopia4.4.3的效果如下:

使用触摸笔在液晶屏上点击‘Menu’,将会出现如下图所示界面。

这时,您可以更改界面的主题风格,这需要通过修改里面的“设置”项,我的个人主题是这样的:

这个是主界面,触摸笔触摸一下将进入软件界面,如下图所示:

在飞凌提供的文件系统中目前存在两套Qtopia4.4.3系统,一套是不含有鼠标光标的系统,可以使用触摸笔进行操作;另外一套‘Qtopia4.4.3_cursor’是含有鼠标光标的,以方便用户使用USB鼠标。系统默认使用触摸笔进行操作而不显示鼠标光标,当然用户也可以把‘Qtopia4.4.3_cursor’修改为‘Qtopia4.4.3’,这时在使用触摸笔时,屏幕上会跟着显示鼠标的箭头光标。

相关主题
文本预览
相关文档 最新文档