基于QtEmbedded的GUI移植及无线网络功能的开发_第1页
基于QtEmbedded的GUI移植及无线网络功能的开发_第2页
基于QtEmbedded的GUI移植及无线网络功能的开发_第3页
基于QtEmbedded的GUI移植及无线网络功能的开发_第4页
基于QtEmbedded的GUI移植及无线网络功能的开发_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Qt/Embedded的GUI移植及无线网络功能的开发摘要具有友好用户界面的嵌入式系统已成为当今嵌入式相关研究的的热点。本文介绍了系统平台构建,分别表达了嵌入式Linux内核的配置与编译,Qt/Ebedded图形界面系统的移植与开发,以及基于嵌入式Linux的无线网络功能模块的开发与实现。运行结果说明,方案合理,运行可靠。关键词嵌入式Linux;Qt/Ebedded;Qtpia;GPRS;无线网络随着信息技术的开展和数字化产品的普及,嵌入式设备被广泛应用。主流的嵌入式操作系统有inE,Linux,Vxrks,pSS,PalS等等。Linux的优势在于其完全开放的操作系统,可以给开发者一定的

2、独立性和自由度,允许它们自己掌控自己的产品。另外,是否具有良好的人机图形界面,方便用户操作,是衡量嵌入式设备性能的重要标准。Qt/Ebedded是著名的Qt库开发商Trllteh公司开发的基于嵌入式Linux系统的Qt版本,广泛应用的KDE等工程即使用Qt作为支持库,它以良好的代码构造、强大的可定制功能以及统一的API都给用户提供了极高的便利性,QT/Ebedded已经逐渐成为GUI的事实标准。2.1硬件开发环境硬件系统采用的是EbestEduKit-III开发平台,采用了SASUNG公司的以AR9为内核的处理器S32410,该处理器核心频率可到达200,具有低功耗、低本钱等卓越性能和显著优点

3、,同时具有JTAG调试等功能;针对掌上智能设备的功能比拟复杂,消耗资源较多,选取了64的SDRA和128的NandFlash,针对此工程的开发,摒弃了一些不必要的模块,保存了USB接口模块,标准串行口模块,显示屏(触摸屏)模块,基于无线通讯功能的实现,选取了Sieens35为核心的GPRS无线模块,整个硬件环境如图1所示。2.2嵌入式Linux系统内核的配置与移植首先,嵌入式系统在运行的初期即在操作系统内核运行之前,需要一段程序初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个适宜的状态,以便为最终调用操作系统内核准备好正确的环境,这就是BtLader程序1,这里我们选用了韩

4、国izi公司的Vivi引导程序。然后是Linux内核的移植,出于实际功能的需要,我们采用了普遍应用于嵌入式系统的2.4.18版的内核。这里有一个相当重要的概念穿插编译2:由于宿主机与目的机的PU一般不一样,宿主机也就是我们常用的P机是以X86为核心的,而目的板那么是AR体系构造的,因此需要在宿主机机上建立一个用于目的机的穿插编译环境,也就是将各种二进制工具程序集成为工具链,其中包括如GNU的链接器ld、GNU的汇编器as、ar产生修改和解开一个存档文件、编译器g以及链接库glib等等。这里宿主机采用Redhat9.0,工具链选择了rss-2.95.3穿插编译工具包。以下是工具和内核源文件列表及

5、说明:-binutils-2.11.2包含有ld、ar、as等一些产生或者处理二进制文件的工具。g-re-2.95.3包含G的主体局部。g-g+2.95.3使G编译+程序。glib-2.2.4lib是很多用户层应用都要用到的库,即链接库。glib-linuxthreads-2.2.4lib用于支持Psix线程单独发布的压缩包。linux-2.4.18+rk7Linux的内核及其支持AR的补丁包。-在穿插编译环境建立好以后,可以对内核进展配置并制作映像文件。这里需要注意的是,针对不同开发商提供的硬件要进展不同的配置,并打上相应的补丁程序。2.3Qtpia图形用户界面文件系统的移植在建立好内核的根

6、底上,要完成根文件系统(rtfilesyste)的创立。在Linux系统启动时,首先完成内核安装及环境初始化,最后会寻找一个文件系统作为根文件系统被加载,它是Linux系统的核心局部,包含系统使用的软件和库,以及所有用来为用户提供支持架构和用户使用的应用软件,并作为存储数据读写结果的区域。这里我们选择嵌入式系统常用的RAFS文件系统,它是Linux创始人Linus开发的一个适用于嵌入式系统经压缩以及只读的小型文件系统3。在完成无图形界面的RAFS文件系统的建立后,这里重点阐述一下带Qtpia图形界面文件系统开发环境的建立和移植。Qt/Ebedded是Trllteh公司开发的面向嵌入式系统的Qt

7、版本,与X11版本的Qt在最大程度上接口兼容,采用帧缓存fraebuffer作为底层图形接口。Qt/Ebedded类库完全采用+封装,并且有着丰富的控件资源以及较好的可移植性,大范围的Qt/EbeddedAPI可用于多种开发工程。Qt/Ebedded的实现构造如表1所示。表1Qt/Ebedded的实现构造Qtpia是基于QT/Ebedded开发的一个嵌入式的窗口系统和应用程序集,如地址本、图像阅读、edia播放器等,还包括娱乐和配置工具,广泛用于PDA等掌上设备。Qtpia平台由Qtpia库和Qtpiaserver/lauher组成。Qtpiaserver/lauher是控制窗口系统、进程间通

8、信、发起所有应用和其他核心任务的主要效劳程序3。整个GUI系统的构建需要对Qt/Ebedded、Qtpia依次分别编译,然后有机地整合在一起。Qt/Ebedded为Qtpia提供了底层支持,GUI系统的图形库窗口组建都由Qt/Ebedded实现。以下构建过程所需工具文件和源码包列表及说明:-Take1.11生成和管理akefile文件Qt/Ebedded2.3.7QT的库文件Qt2.3.2frX11为了生成相应的QtDesigner和qvfb以便在宿主机上开发和调试应用程序Qtpia1.7.0图形用户界面开发包e2fsprgs-1.35ext2文件系统工具包tslib触摸屏工具包pegsrv6

9、bjpeg解码包-将上述开发包依次解压,然后编译。这里需要注意的是根据运行环境的不同,需要建立两个程序开发环境:一种是针对X86在p机上运行使用虚拟缓冲帧qvfb(Qt/EbeddedVirtualFraebuffer)的开发环境,这样我们就可以先在RedHat9环境下虚拟嵌入式程序的运行,从而节约开发时间。另外一种是针对可以在AR开发板上运行的程序的开发环境。不同的开发对象要使用不同的编译器,这里就引出了环境变量的设置问题,例如针对AR板开发时需要定义:TAKEPATH=$TAKEDIR/lib/qs/linux-ar-g+而对可以运行在X86体系构造上的程序那么为:TAKEPATH=$TA

10、KEDIR/lib/qs/linux-generi-g+图2图形界面文件列表当开发环境建好之后,在无图形界面的RAFS的根底上,新建qt目录,拷贝编译过的Qtpia必需目录及相关文件到此目录下;从编译Qtpia时使用的编译器还书库目录中,拷贝程序运行时所需的函数库到lib目录下,并交换原无Qt文件系统的lib目录。然后拷贝基于Qt/Ebedded的动态函数库及字库文件,并建立一个作为Qtpia图形界面运行时的工作目录,用于存放运行时产生的中间文件。已参加编译Qtpia图形界面文件系统后的目录如图2所示。最后,修改RAFS文件系统的运行参数,主要修改两个文件,即存放于/usr/et/目录下的运行

11、环境配置文件prfile和运行QPE图形界面启动的r.lal,设定系统运行的环境变量。以上为整个嵌入式系统的移植,经过映像打包后就可以烧录并运行在在开发板上了。3.1模块说明嵌入式系统一般应用于小型便携式设备上,传统的有线上网方式往往无法适应现场的需要,无线网络接入以其方便、快捷的优点正被广泛应用远程监控、数据采集和各种娱乐电子产品中。这里选取了Sieens35无线模块,支持GRPSlass8/lassB和标准AT指令,并预留了话筒接口,支持GS900和GS1800双频网络。当插入一般GS网络的SI卡后,嵌入式操作系统即可通过串口发送AT指令控制 的拨打和接通;当开通GPRS网络效劳后,就可以

12、采用拨号上网的方式实现Internet网络的接入。3.2协议根底Linux下通过GPRS上网必须使用PPP协议进展拨号,PPPPint-t-PintPrtl点到点协议是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案4。建立一个PPP连接需要以下过程:在PPP的两端建立一条物理连接,通常为 连接,但也有直接电缆连接或虚拟的tunnel连接的形式。详细如何建立连接,例如拨号等,并不属于PPP协议本身的任务。由PPP的效劳

13、器端对客户端进展验证,可以有最简单登录的验证方式、PAP或HAP等验证方式。由于PAP和HAP并不在线路上传输口令本身,因此更为平安,不必担忧口令会泄露出去。验证完毕之后,PPP效劳器将按照配置,分配给客户IP地址,并将网关地址和其他的一些配置信息传送给客户。假如是irsft客户,还可以按照S的扩展协议分配给客户NetBIS名字效劳器的地址。这样就建立了一条PPP连接。Linux对PPP提供了两种不同方式的支持,一种为内核级PPP,它将PPP协议代码编译进内核,并运行一个PPP守护进程pppd,提供对PPP的支持,这是一种传统的方法,但配置起来较困难。另一种为用户级PPP,它使用一个应用程序p

14、pp,通过通用tunnel设备传递PPP数据,配置较为容易。针对此开发工程这里使用用户级PPP来建立拨号方式的Internet连接。3.3模块配置与实现首先在编译Linux内核时需要配置kernel使它支持如下PPP选项:PPP(pint-t-pint)supprtPPPultilinksupprt(EXPERIENTAL)PPPsupprtfrasynserialprtsPPPsupprtfrsynttyprtsPPPDeflatepressinPPPBSD-presspressin然后采用最新的pppd源码包ppp-2.4.3,经过穿插编译后拷贝到嵌入式文件系统的/usr/sbin目录下,

15、同时在嵌入式文件系统/dev下建立一个ppp设备,并经行相关配置。这里最重要的是配置在Linux下拨号采用的脚本文件ppp-n、hat-sript和配置文件ptins,还有其实内容为空的两个验证文件pap-serets和hap-serets。最主要的ppp-n脚本如下:#/bin/shpppd-d-detahlk/dev/ttyS057600kdebug4file/et/ppp/ptinsnrtstsnipdefaultnetask255.255.255.0defaultrutennet/et/ppp/hat-sript这里调用了pppd拨号命令,并对拨号端口进展了配置,最后调用了hat-sr

16、ipt脚本文件:#!/bin/shexehat-vTIEUT5ATKAT+GDNT=1,IP,NETKATD*99*1#NNET文件中使用AT指令对串口进展控制,因为目前中国GPRS用户拨号上网并没有采用用户帐号和密码进展登陆,所以帐号密码都为空。在完成以上配置后,直接运行ppp-n程序即可实现GPRS拨号上网。以上拨号程序是通过Shell脚本编程完成的,可以修改/usr/et/r.lal配置文件,设置ppp-n程序在开机时自动加载;也可以把脚本程序封装起来,直接放在桌面应用程序中去,由用户自由控制。在丰富的第三方软件的支持下,用户即可以实现EB页阅读、电子邮件的发送和实时的聊天功能。本文介绍了图形化的嵌入式Linux操作系统的移植和无线网络功能的实现,通过软、硬件的优化设计,整个嵌入式系统已经测试并运行正常,具有良好的稳定性;同时在GPRS无线上网的根底下,已成功实现网页阅读和收发文件的功能,可以用于智能、远间隔 监控、车载导航等方面。通过预留的USB接口还可以实现摄像头的图像采集功能。如今,嵌入式Li

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论