基于Linux的Qtopia移植在ARM平台上的实现
时间:2013-12-03 10:58 文章来源:http://www.lunwenbuluo.com 作者:何玲玲 张婷 王阳 点击次数:
摘要:基于Linux嵌入式GUI在当今嵌入式图形界面开发中占有一定市场。其开源,易于移植的特点使其更加被广泛的应用。Qtopia手机平台移植时,需要注意移植前的准备,移植中注意的问题和在具体移植过程的分析及实现等。
关键词:Linux;ARM平台;Qtopia手机平台移植
1引言
QT是Trolltech公司有名的产品,最初是作为一个跨平台的C++GUI库开发,但随着它的发展增加了一系列与GUI库无关的库,现在QT已经成为一个通用的C++跨平台类库。Qt针对不同操作系统发布不同的版本,它们所定义的提供给应用程序开发人员的API其实是相同的,在应用程序开发人员看来,它们不必关心当前操作系统是哪一种,只需要调用同一套API来实现它们的应用程序即可。
2移植前准备
本文Qtopia版本是Qtopia-opensource-4.2.4版本的,带有手机桌面环境,移植的交叉编译器版本为arm-linux-gcc4.1.2,内核版本为:Linux-2.6.31,操作系统平台为:LinuxRedHat9.0,开发板平台为:TX2440A。在移植前首先要先建好一个基本的根文件系统,改名为qtopia_root,然后再将Tslib移植入根文件系统中,以保证在移植完成Qtopia后能够正常的运行。
3Qtopia手机平台移植
3.1开始移植
由于Qtopia不能在源码目录下编译,在将Qtopia解压到source目录下后,要在同目录下再建立一个target目标文件,然后就可以在该目录下编译源码。建这个目录是为了和qtopia进行交互。再在虚拟机下建一个执行makeinstall时的安装目录,也要在根文件系统中创建这个目录,做为qpe的启动目录。以下的操作都是在source中进行。
1)进入qconfig-qpe.h:首先注释掉关于鼠标光标的宏定义,使得程序运行时触摸屏中央有光标出现;
2)将qconfig-qpe.h拷贝到global目录,并注释掉其他文件里光标的定义;
3)关于时区问题。一种方法是把虚拟机目录下/usr/share/zoneinfo中的所有文件拷到在根文件系统上建立的zoneinfo文件中。第二种方法是修改源代码,使它指向自己的文件夹。
3.2配置
由于配置代码一般较长,因此可以事先写好一个相应的配置文件,在target目录下执行该配置文件即可。主要配置选项说明如下:
1)-xplatformlinux-arm-g++-archarm,目标平台为arm-linux,体系结构为arm;
2)-extra-qtopiacore-config,为Qtopiacore配置选项。
如果没有错误,就可以执行make和makeinstall,这个时间比较长,2小时左右。Qtopia会被安装到/usr/local/qtopia目录下。
3.3两种文件系统启动方式
⑴用挂载NFS方式启动
1)配置网络,确保挂载NFS正常;
2)配置启动脚本,新建一个名为qtopia文件,加入可执行权限,并把它放到根文件系统中;
3)然后在/etc/init.d/rcS文件中加入一句开机自动运行qtopia脚本;
4)将触摸屏校正程序放到根文件系统/usr/bin目录下;
5)创建qtopia文件夹,用于挂载NFS;
6)制作文件系统,烧入开发板,启动系统。
⑵U盘传输文件
1)与NFS挂载方式的2)到5)步相同;
2)将qtopia目录放到根文件系统的/usr/local下,再将启动程序qpe放到根文件系统/usb/bin下;
3)裁剪文件系统:将文件系统中的部分文件分离出来,制作成压缩包,存入U盘中,制作文件系统镜像,下载到开发板中,系统启动后,将U盘插入开发板,挂载U盘,传输被分离出的文件到相应的目录下。
3.4运行系统
首次运行系统,会先运行触摸屏校正程序,依次用触摸笔点击屏幕上出现的五个十字光标的中心,再进入qtopia。正常启动后,屏幕中心就会出现鼠标光标,然后出现启动LOGO,再进入主界面。当执行过触摸屏校正程序,下次开机时就会直接进入qtopia。
[参考文献]
[1]施威铭研究室.LinuxC语言实务[M].北京:机械工业出版社,2002.
[2]田家林,陈利学,寇向辉.LINUX嵌入式操作系统在ARM上的移植[J].中文核心期刊《微计算机信息》(嵌入式与SOC),2007年第23卷第4-2期.
[3]倪继利.Qt及Linux操作系统窗口设计[M].北京:电子工业出版社,2006.
- 论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
- 论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
-
- 论文投稿客服QQ:
2863358778、
2316118108
-
- 论文投稿电话:15380085870
-
- 论文投稿邮箱:lunwenbuluo@126.com