基于Linux的Qtopia移植在ARM平台上的实现

时间:2013-12-03 13:09 来源:www.fabiaoba.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.

www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
  本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/ CSSCI核心/医学投稿辅导/职称投稿辅导。

投稿邮箱:fabiaoba365@126.com
 在线咨询: 投稿辅导275774677投稿辅导1003180928
 在线咨询: 投稿辅导610071587投稿辅导1003160816
 联系电话:18796993035

联系方式
李老师QQ:发表吧客服610071587 陈老师QQ:发表吧客服275774677 刘老师QQ:发表吧客服1003160816 张老师QQ:发表吧客服1003180928 联系电话:18796993035 投稿邮箱:fabiaoba365@126.com
期刊鉴别
  • 刊物名称:
  • 检索网站:
热门期刊
发表吧友情提醒

近来发现有些作者论文投稿存在大量剽窃、抄袭行为,“发表吧”对此类存在大量剽窃、抄袭的论文已经停止编辑、推荐。同时我们也提醒您,当您向“发表吧”投稿时请您一定要保证论文的原创性、唯一性,这既是对您自己负责,更是对他人的尊敬。

此类投稿的论文如果发表之后,对您今后的人生和事业将造成很大的麻烦,后果不堪设想,请您一定要慎重,三思而后行。

如因版权问题引起争议或任何其他原因,“发表吧”不承担任何法律责任,侵权法律责任概由剽窃、抄袭者本人承担。

 
QQ在线咨询
论文刊登热线:
137-7525-9981
微信号咨询:
fabiaoba-com

友情链接

申请链接