老古开发网首页
导航:老古开发网首页文章索引文章分类综合电子→[QTE/Qtopia在Liod-270上的移植]
| -文章搜索 - 最新文章 - |

QTE/Qtopia在Liod-270上的移植

发布时间:2006年7月27日 点击次数:1646
来源:电子产品世界   作者:亿道电子技术有限公司
 

一、Qt、Liod-270平台简介 
 
Qt/Embedded是著名的Qt库开发商TrollTech(http://www.trolltech.com/)发布的面向嵌入式系统的Qt版本。因为Qt是KDE等项目使用的GUI支持库,所以有许多基于Qt的X Window程序可以非常方便地移植Qt/Embedded版本上。自从Qt/Embedded发布以来,就有大量的嵌入式Linux开发商转到了Qt/Embedded系统上,并且有多种免费版本可以使用。本次2006年"英特尔杯"全国大学生电子竞赛所用的Liod-270平台,除了可以使用TinyX以外也可以选择Qt。本文将以亿道电子提供的Liod-270平台为例,详细说明QTE/Qtopia的移 植过程。
Trolltech提供三大Qtopia版本:Qtopia手机版,Qtopia PDA版本和Qtopia消费电子产品平台。本文采用的是Qtopia PDA版的免费版本。
 
此次竞赛平台Liod是亿道电子设计、生产并捐赠的。武耀博德信息技术有限公司( www.51board.com )是 亿道电子 旗下全资控股的嵌入式方案设计公司,其前身是亿道电子的嵌入式研发中心。武耀博德专业提供基于英特尔嵌入式处理器的ODM/OEM项目设计、测试、生产服务,涉及从高校实验平台、导航系统、数字家庭、多媒体终端、行业PDA、监控项目、工业控制、RFID物流项目等等领域。

二、移植过程
1.编译准备
在编译QTE和QPE之前,我们先要下载QTE和QPE的源代码。
上述的软件都可以在"英特尔杯"全国大学生电子竞赛的支持网站(www.xsbase.com )上下载得到。解压上述的源代码包。
2.安装Toolchain
使用cp命令将 Xsbase-arm-linux-qt.tar.gz文件拷贝到PC上/usr/local/下,然后进入到/usr/local/目录下,解压该文件。
为了之后在任何目录下面都能够使用Toolchain,必须要对路径进行设置。打开/root/.bash_profile文件来设置路径,用VI编辑器打开/root/.bash_profile文件并添加下述的路径: 
 
保存并退出该文件,使用source命令来使其路径起作用。

3. 编译Qt/X11
编译qt-x11的唯一目的就是为编译QTE提供uic(用户接口编译器)uic用来把.ui文件转成.h和.cpp文件.uic是for x86的文件。 
 
 
4. 编译QTE的库 
 
拷贝qconfig-qpe.h文件到QTE中。 
 
进入到qt-2.3.7文件夹里面,并进行configure。 
 
configure 选项中:-qconfig qpe是编译qtopia的配置参数。执行configure的话会问到如下几个问题:
- 是否同意license?选择yes。
- 选择colordepth时选择16。 
- 是否支持Qt Virtual Framebuffer?在ARM上用,可以选择 no。Qt Virtual Framebuffer(qvfb)程序在X上实现Framebuffer。
环境设置结束后弹出如下信息,因为是设置为ARM用,最下面一行的Build Type中会出现linux-arm-g++ -share。

然后就可以执行make sub-src。
编译结束后查看Qt/Embedded 库来确认编译是否正常。确认各个库文件的连接关系。
利用file命令确认生成的执行文件是否适合目标平台即生成ARM平台的二进制文件。 
 
前面将QT/E编译了目标板上,但我们发现还不能进行操作,那是因为板子的触摸屏设备驱动和QT/E的readMouseData()函数不匹配,需要修改QT/E源代码。利用vi工具打开管理触摸屏的QT/E源代码/root/qt-2.3.7/src/kernel/qwsmouse_qws.cpp,并参考ARMLinux系统的触摸屏ADS7843驱动代码(/driver/char/ads7843_ts.c)中的读函数来适当地修改参数值。
下面是修改好的readMouseData()的代码。
5编译工具库
编译Qtopia的时候需要用到jpeg和libuuid的库。这两个库需要编译到我们的交叉编译工具中。
首先编译e2fsprogs。

进入到e2fsprogs-1.32/lib/uuid文件夹里面,打开uuidP.h文件,把#include <ext2_types.h>改成#include "ext2_types.h"。修改e2fsprogs-1.32/lib/uuid下面的Makefile文件。 
 
编译后会生成我们需要的库文件libuuid.a。
我们需要把它拷贝到我们的工具链中。 
 
Qtopia里面的BMP和JPEG格式的图片的显示需要调用到JPEG的库函数,因此我们需要编译jpeg的库。

Configure后生产Makefile文件,我们需要编译jpeg for ARM的库,编译前需要修改Makefile。 
 
然后进行make 就可以了。

6 编译Qtopia
所有的准备工作就完成了,就可以开始编译QT的图形用户界面Qtopia了。先解压。

先configure一下。
然后直接make一下就开始编译Qtopia了。
编译完成后,我们可看到以下的文件夹是我们需要的。包括文件夹目录apps , bin , etc , li8n , lib , pics , plugins ,include共八个文件夹。
7运行Qtopia
在文件系统的/usr目录下新建一个qpe文件夹,把上面编译好的Qtopia文件夹拷贝到这个qpe文件夹里面,同时把qt-2.3.7/lib下面的库文件和font文件夹一起拷贝到文件系统的/usr/qpe/lib下面。
运行Qtopia。运行后,首先可以看到Welcom to Qtopia,然后一些语言和时间的设置,最后就可以看到类似下面的界面,至此就移植全部完成了。读者有任何问题可以在www.xsbase.com 上留贴。
在这里,感谢上海交大、英特尔、亿道对本文的支持。


欢迎进入老古论坛进行讨论
[综合电子] 相关文章:
粒子计数器
简介:
  3770系列凝聚颗粒计数器有四种可选模式,系统主要包括以下特点:提供USB接口及以太网接口;支持多色彩显示;允许Internet数据载入;配备一套除水系统。最高精度模式可检测到的颗粒直径小于2.5纳米,在其余的几种模式下,分别可检测到直径为4纳米和10纳米的颗粒。气溶胶的流动速度为50-1000 cm 3 /min。 TSI Inc. www.particle.tsi.com. ......

可视化系统
ISD4004-16M语音芯片的循环录放电路设计
基于ICB1FL02G的高功率节能灯设计
中控 常减压自动化解决方案
TD-SCDMA终端测试综述
移动定位的业务功能与实现原理
M8051 IP软核的改进性设计及其在视频字符叠加器中的重应用
实用的家电语音控制系统的设计
便携式电子设备中的立体声
 
下一个:[新闻热点]英飞凌击败TI成为LG手机芯片供应商
简介:
据外电报道,德国芯片制造商英飞凌近日表示,公司将向全球第四大手机制造商韩国LG电子提供手机芯片。英飞凌称,公司将为LG新一代EDGE电话提供平台和主要部件。有关该合约的财务细节目前还没有对外公布。今年初,英飞凌曾表示,公司已为其亏损的通讯芯片业务赢得了一些新客户。   业内一消息人士向媒体透露,英飞凌是在击败德州仪器后,赢得了这份合约,今后LG新型手机中三分之二的手机将是EDGE手机。EDGE技术是一项介于第二代和第三代手机技术间的技术,该技术可提供比第二代手机技术,即GSM技术更快的数据传输速率,且成本低于第三代手机技术。   市场研究公......
 

上一个:[综合电子]手持产品的DVB-H数字电视

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:0毫秒