基于RTEMS操作系统的图形工具开发包的设计与实现_第1页
基于RTEMS操作系统的图形工具开发包的设计与实现_第2页
基于RTEMS操作系统的图形工具开发包的设计与实现_第3页
基于RTEMS操作系统的图形工具开发包的设计与实现_第4页
基于RTEMS操作系统的图形工具开发包的设计与实现_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

1、分类号密级UDC学位论文基于RTEMS操作系统的图形工具开发包的设计与实现关键技术与模块类的设计与实现作者姓名:孙永兵指导教师:邓庆绪副教授东北大学计算机软件与理论研究所申请学位级別:硕士学科类别:工学学科专业名称:计算机软件与理论论文提交日期:论文答辩日期:学位授予日期:答辩委员会主席:评阅人:东北大学2006年2月ADissertationinComputerSoftwareandTheoryTheDesignandImplementationofGUIToolkitbasedonRTEMSDesignanddevelopmentofkeytechniquesandmoduleclasse

2、sbySunYongbingSupeivisor:AssociateProfessorDengQingxuNortheasternUniversityFebruary2006-1-独创性声明本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得的研究成果除加以标注和致谢的地方外,不包含其他人己经发表或撰写过的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢意。学位论文作者签名:日期:学位论文版权使用授权书本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论文的规定:即学校有权保留并向国家有关部门或机构送

3、交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权东北大学可以将学位论文的全部或部分内容编入有关数据库进行检索、交流。(如作者和导师同意网上交流,请在下方签名;否则视为不同意。)学位论文作者签名:签字日期:导师签名:签字日期:东北大学硕士学位论文Abstiact东北大学硕士学位论文摘要- III- II-基于RTEMS操作系统的图形工具开发包的设计与实现关键技术与模块类的设计与实现摘要本文首先介绍了嵌入式开发平台的整体结构,以及本GUIToolkit在其中的位置和作用,接下来乂对本GUIToolkit的开发环境作了简单的描述。本文在深入讨论当今嵌入式领域中应用最为广泛的儿种GUI系统的系统结

4、构的基础上,设计了运行在RTEMS实时性嵌入式操作系统之上的图形用户界面开发包(GUIToolkit)的整体分层结构:底层接口抽象层、中间引擎层和上层应用接口层。本文在尽可能的考虑嵌入式系统和工控领域的要求下,进行了该GUIToolkit模块类的功能定义和骨干类的接口实现。主要包括包括底层绘图类(Gfk类)、消息队列类(MessageQueue类)、绘图类(Paintei类)、绘图对象类(Pamterdevice类)、鼠标、键盘事件处理类(Mouse、KeyboardHandle类)、字体管理类(FontManagement类)等。本文还详细阐述了本GUIToolkit中实现的关键技术:事件消

5、息机制、窗口技术、颜色板查找算法、动态曲线绘制算法和编译规则等。其中,本GUIToolkit设计实现了事件消息机制,它基于RTEMS的消息管理器,以消息的完全封装为特色,并对传统C/S模式下的通信机制做了改动。本文重点分析了实现该机制特色的关键设计部分,并且给出了具体实现的关键数据结构和事件消息处理逻辑流程;它还实现了颜色板的最接近查找算法,并对其通过增设软件Cache的方法做了改进,提高查找速度:它采用了内插法的动态曲线绘制算法,满足工控曲线的绘制显示要求;本文还为GUIToolkit应用开发制定了统一的编译规则,将RTEMS操作系统、GUIToolkit模块库和GUI应用程序编译到指定目标

6、硬件系统上的二进制映象。在文章的最后本文给出了本GUIToolkit的最小系统定义和实现,并且进行了性能评价。关键词:GUIToolkit嵌入式GUI设计RTEMS事件消息机制颜色板查找算法编译规则TheDesignandImplementationofGUIToolkitbasedonRTEMSDesignanddevelopmentofkeytechniquesandmoduleclassesAbstractAiloveiallstnictuieofembeddedsystemdesignplatformisfiistpresentedmthispaper.Thelocationandfi

7、inctionsofaGUIToolkitinthesystemanditsdevelopmentenvuomnentaxebrieflymtroducedOnthebasisofathoiouglireviewofwidelyusedGUIsystemsandthenmfiastmctuie,wepresentedanoveialllayeredstnictuieoftheGUIToolkitnimuiigonRTEMSreal-tuneoperatingsystem,wluchincludesthelow-endabstractmteifacelayei;theGUIenginelayer

8、andthehigh-enduserapplicationmteifacelayer.Thefiuictiondefinition,moduledefinitionandthemainclassesoftheGUItoolkitareimplementedconsideringbothembeddedsystemiequuementsandindustiialmonitoiandcontrolsystemiequuementsTheclasssetisconsistoflow-levelgraphicalclasses,MessageQueueclasses,pamterclasses,pam

9、terdeviceclasses,eventhandlerclasses,fontmanagementclasses,etc.Thekeytechniques,wluchmcludeeventmessagemechanism,windowmgtechnique,Plattesearchingalgontlmi,dynamiccurvedrawingalgontlunandcompilingmles.TheeventmessagemechanismisunplementedonthebasisofRTEMSmessagemanager.Themechanism,whichiscliaiacter

10、izedbycompleteencapsulationofmessages,isamodificationoftraditionalC/SconununicationmechanismThispapermainlydiscussedtheimplementationofsuchamechanism,andthekeydatastmctuiesandthelogicalprocessingflowarealsopresented.APlattesearclungalgontlunandasoftwafe-implementedcacheismtegiatedtoboostsearchingspe

11、edAalgoiitlmibaseddynamiccurvedrawingisadoptedtosatisfytheiequuementsofindustrialcontrolsystemsThispaperalsodefinesasetofuniformcompilmgrules,wluchcompilesRTEMSoperatingsystem,theGUItoolkitModuleLibandtheuserGUIapplicationsintoabinaryimageforthetargetplatformAmuuinumsystemdefinitionanditsimplementat

12、ionarepiesentedmthelastpartofthispaperTheperformanceoftheGUIsystemisalsoevaluated.Keywords:GUItoolkitEmbeddedGUIdesignRTEMSeventmessagemechaiusmPlattesearchingalgontluncompilingrules东北大学硕士学位论文第一章引言东北大学硕士学位论文第一童引言- -3.2.1宿主机环境24- -目录TOC o 1-5 h z HYPERLINK l bookmark10 独创性声明I HYPERLINK l bookmark16 摘

13、要II HYPERLINK l bookmark20 AbstractIll HYPERLINK l bookmark22 目录1 HYPERLINK l bookmark24 第一章引言1 HYPERLINK l bookmark26 1.1嵌入式系统背景1 HYPERLINK l bookmark28 1.2课题來源及其描述2 HYPERLINK l bookmark30 1.3后继章节安排3 HYPERLINK l bookmark32 第二章GUI系统基本概念与相关工作5 HYPERLINK l bookmark34 GUI系统概念及其发展历史5 HYPERLINK l bookmar

14、k36 GUI系统概念5 HYPERLINK l bookmark38 GUI系统的发展历史6 HYPERLINK l bookmark40 2.2嵌入式GUI系统简介6 HYPERLINK l bookmark42 2.3现存的主要的嵌入式GUI系统简介7 HYPERLINK l bookmark44 QT/Embedded7 HYPERLINK l bookmark60 Miciowindows9 HYPERLINK l bookmark62 MiiuGUI10 HYPERLINK l bookmark74 XWindow11 HYPERLINK l bookmark76 2.4几种重要的

15、事件消息通信机制简介12 HYPERLINK l bookmark78 2.4.1基于管道的QCOP协议12 HYPERLINK l bookmark80 信号-槽(Signal-Slot)机制12 HYPERLINK l bookmark82 2.43SOCKET通信机制13 HYPERLINK l bookmark84 MessageQueue通信机制13 HYPERLINK l bookmark86 245共享内存15 HYPERLINK l bookmark94 第三章GUIToolkit开发环境17 HYPERLINK l bookmark96 3.1智能仪器嵌入式开发平台结构17

16、HYPERLINK l bookmark98 3.1.1硬件系统18 HYPERLINK l bookmark100 3.1.2软件系统21 HYPERLINK l bookmark102 GUIToolkit开发系统搭建24 HYPERLINK l bookmark106 322目标机环境25 HYPERLINK l bookmark108 第四章关键技术的设计与实现27 HYPERLINK l bookmark110 4.1事件消息机制设计实现27 HYPERLINK l bookmark112 GUI与OS之间通信27 HYPERLINK l bookmark114 GUI内部对象之间通

17、信的设计实现27内部对象之间通信机制整体设计27消息转换中心28消息管理维护中心31 HYPERLINK l bookmark116 GUIToolkitClient/Sevei-模式下通信的设计实现33 HYPERLINK l bookmark118 4.2窗口技术34 HYPERLINK l bookmark120 421创建弹出式窗口34 HYPERLINK l bookmark122 4.2.2多窗口技术实现35窗口Z序36窗口剪切算法36422.3剪切域的计算算法36新的多窗口技术探讨37 HYPERLINK l bookmark124 4.3RTEMS操作系统支持38 HYPERL

18、INK l bookmark126 4.3.1内核对通信机制的支持38 HYPERLINK l bookmark128 4.3.2驱动程序的支持39 HYPERLINK l bookmark130 4.4编译规则制定(嵌入式的特色)39 HYPERLINK l bookmark132 4.5调色板查找算法40 HYPERLINK l bookmark134 4.5.1调色板工作原理40 HYPERLINK l bookmark136 4.5.2基于软件cache的最接近查找算法41最接近查找算法41最接近查找算法之上的软件Cache的设计42 HYPERLINK l bookmark138 4

19、.6曲线绘制算法43 HYPERLINK l bookmark140 4.6.1内插法原理43 HYPERLINK l bookmark142 4.6.2内插法算法实现44 HYPERLINK l bookmark144 第五章GUIToolkit整体设计与原型实现47 HYPERLINK l bookmark146 GUIToolkit系统整体结构设计47 HYPERLINK l bookmark148 GUIToolkit系统结构设计47 HYPERLINK l bookmark150 GUIToolkit工作原理图49 HYPERLINK l bookmark152 GUIToolkit

20、系统类设计和功能定义50 HYPERLINK l bookmark154 GUIToolkit类设计50 HYPERLINK l bookmark156 GUIToolkit模块类功能定义51 HYPERLINK l bookmark158 5.3GUIToolkit消息机制实现规则57 HYPERLINK l bookmark160 5.4用户接口以及交互技术57 HYPERLINK l bookmark162 5.4.1菜单技术57 HYPERLINK l bookmark164 5.4.2游标定位技术58 HYPERLINK l bookmark166 图示(Icon)技术59 HYPE

21、RLINK l bookmark168 5.4.4其它交互技术60 HYPERLINK l bookmark170 5.5最小系统实现、调试与评价60 HYPERLINK l bookmark172 5.5.1最小系统实现60 HYPERLINK l bookmark174 5.5.2系统调试61调试环境搭建61本GUI实现的最小系统的测试调试61 HYPERLINK l bookmark176 5.5.3最小系统性能评价625.531性能评测要求625.532性能测试结果63 HYPERLINK l bookmark178 第六章结论与未來工作65 HYPERLINK l bookmark1

22、80 参考文献67 HYPERLINK l bookmark182 致谢69 HYPERLINK l bookmark184 攻研期间论文发表情况71 HYPERLINK l bookmark186 攻研期间科研情况73东北大学硕士学位论文第一章引言东北大学硕士学位论文第一童引言- - -第一章引言1.1嵌入式系统背景美国著名未來学家尼葛洛庞帝99年1月访华时预言,45年后嵌入式智能(计算机)工具将是继PC和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的计算机的发展与技术一文中,对未来10年以嵌入式芯片为基础的计算器工业进行了科学的

23、阐述和展望1】。随着后PC时代的到来,使得人们开始越来越多地接触到一个新的概念陨入式产品。像手机、PDA(如商务通等)均属于手持的嵌入式产品,VCD机、机顶盒等也属于嵌入式产品,而像车载GPS系统、数控机床、网络冰箱等同样都釆用嵌入式系统。形式多样的数字化设备正努力把Internet连接到人们生活各个角落,也就是说中国数字化设备的潜在消费者数量将以亿为单位。嵌入式软件是数字化产品的核心。如果说PC机的发展带动了整个桌面软件的发展,那么数字化产品的广泛普及必将为嵌入式软件产业的蓬勃发展提供无穷的推动力。嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠

24、性、成本、体积、功耗严格要求的专用计算机系统。重要的特点有4个:专用性,功能强大,性价比高,开发周期短。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。今天嵌入式系统带來的工业年产值已超过了1万亿美元,1997年來自美国嵌入式系统大会(EmbeddedSystemConference)的报告扌旨出,未來5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场2】。美国汽车大王福特公司的高级经理也曾宣称,“福特出售的,计算能力,己超过了IBM-,

25、由此可以想见嵌入式计算器工业的规模和广度。纵观国际相关产业在图形化用户接口设计方面的发展现状,许多国际知名公司早己意识到GUI在产品方面产生的强大的增值功能,以及带动的巨大的市场价值,因此在公司内部设立了相关部门专门从事GUI的研究与设计。同行业间也成立了若干机构,以互相交流GUI设计理论与经验为目的。随着中国IT产业,移动通信产业,家电产业的迅猛发展,在产品的人机交互接口设计发展上日益滞后,这对于提高产业综合素质,提升与国际同行业者的竞争能力等方面无疑起到了很大的制约作用。1.2课题来源及其描述随着嵌入式技术的不断成熟与发展,面向大中型机电设备的在线状态监测与故障诊断类仪器的开发己经形成了一

26、个很大的产业,该类智能仪器的出现,已经在大型机电设备维修和故障诊断方面带來了一场革命,这就是用科学的“状态维修”,逐渐代替非科学的周期性维修。先进国家的大型设备都逐步釆用在线维修的方法,釆用该方法一是可以提前发现故障,避免重大事故和经济损失,二是维修变得经济可靠,在大型机电设备上应用智能化状态监测和故障诊断仪器之后,使企业可以有依据的只对有问题的设备进行维修,而其他设备可以照常运行,产生效益。我国当前普遍釆用的维修方法是周期性维修,即到一定周期,不管设备有没有问题,全部停机大拆。这种维修方法没有可靠性依据,长时间的大修期给企业造成的损失巨大,仅以电厂的一个机组为例,一次大修需要3个月,给电厂造

27、成的损失可达千万。而在两个维修期之间的这段时间,设备出现故障却不能被提前发现,仍然不可避免的出现一些大型事故。面向大型设备状态监测与故障诊断智能仪器的开发,在发达国家已经非常成熟,美国的CSL本特立、恩泰克、西屋等公司的产品在世界各地的各大工矿企业都有成功的应用,产生了巨大的社会效益。国内许多企业逐渐认识到设备在线故障监测的重要性,美国CSL本特立、恩泰克、西屋等公司的产品在中国都有应用,先进的维修理念已开始在我国工矿企业得到逐步的渗透。但是到目前为止,基于嵌入式技术的该类设备在我国仍属空白,没有成熟的产品应用,其根本原因就是因为我国在开发这类产品时,没有统一的开发标准和一个共用的开发平台,使

28、各个企业的开发技术力量分散,而且没有可靠的功能和性能测试标准,极大的影响了该类产品开发的效率和可靠性,同国外产品相比,功能相差太大,没有竞争力,市场基本上被国外公司所占领,开发一个该类嵌入式开发系统己经是势在必行。同国外相比,国内还没有一套针对该类智能仪器开发的嵌入式软件开发平台和环境,因此迫切需要一套这样的系统,來整体上提高我国开发该类智能仪器的水平和开发速度。为了提高该类智能化仪器产品的嵌入式应用系统的开发效率,满足不同仪器开发的需要,本课题主要研究嵌入式软件开发平台的有关内容。本课题隶属于国家863项目一面向大型机电设备状态检测与故障诊断的智能仪器嵌入式软件开发平台的开发。该863项目己

29、经完成了基于MotorolaColdfiie5307的底层硬件系统和实时操作系统RTEMS内核的移值。本课题就是实现该嵌入式开发平台RTEMS实时性操作系统上图形用户开发工具包(GUIToolkit)的开发,为该开发平台实现上层图形用户接口开发的支持。本图形用户开发工具包(GUIToolkit)的开发充分考虑到了嵌入式系统和工控领域的特点,主要包括GUIToolkit系统整体设计、功能类设计实现以及事件消息机制、窗口技术、用户接口和交互技术、RTEMS接口驱动等关键技术的实现。本GUIToolkit运行于RTEMS操作系统之上,提供丰富的功能模块,完善的图形功能,清晰的用户开发接口(API),

30、力求应用本GUIToolkit开发出來的图形用户界面功能丰富,简洁美观。1.3后继章节安排本章主要对嵌入式系统尤其是嵌入式GUI系统进行了简单的介绍,接着讲述了课题來源,并对本课题进行了概括性的描述。第二章对GUI系统、嵌入式GUI系统进行了简单的叙述,讨论了现在嵌入式系统中应用广泛的儿种入式GUI的系统机构及其优缺点,最后简单介绍了一下常见的儿种GUI系统内部的通信方式。第三章重点介绍了本GUIToolkit的开发环境。首先说明的是本GUIToolkit所属的863项目一嵌入式系统开发平台的整体结构,以及本GUIToolkit在其中所处的位置和作用。接下來是对本GUIToolkit宿主机和目

31、标机开发环境的说明。第四章介绍了本GUIToolkit中设计实现的关键技术。其中包括具有消息完全封装特色的消息通信机制、多窗口技术、颜色板查找算法、动态曲线绘制算法和编译规则等。第五章给出了本GUIToolkit的整体结构设计,重点描述了模块类的功能定义和类接口的实现。并在最后给出了最小系统的实现和性能评价。第六章是结论与未來工作。东北大学硕士学位论文第二童GUI系统基本概念与相关工作- -第二章GUI系统基本概念与相关工作GUI系统概念及其发展历史GUI系统概念GUIGraplucalUseiLiterface即人机交互图形化用户接口设计,准确点说就是屏幕产品的视觉体验和互动操作部分。它是一

32、种结合计算机科学、美学、心理学、行为学以及各商业领域需求分析的人机系统工程,强调人一机一环境三者作为一个系统进行总体设计,其设计的主要准则如下:(1)减少用户的认知负担;(2)保持界面的一致性;(3)满足不同目标用户的创意需求;(4)用户接口友好性;(5)图示识别平衡性;(6)图标功能的一致性;(7)建立接口与用户的互动交流;其主要的应用领域有:(1)手机通讯移动产品;(2)计算机操作平台;(3)软件产品;(4)PDA产品;(5)数码产品;(6)车载系统产品;(7)智能家电产品;(8)游戏产品;(9)产品的在线推广等;纵观国际相关产业在图形化用户接口设计方面的发展现状,许多国际知.名公司早己意

33、识到GUI在产品方面产生的强大的增值功能,以及带动的巨大的市场价值,因此在公司内部设立了相关部门专门从事GUI的研究与设计。同行业间也成立了若干机构,以互相交流GUI设计理论与经验为目的。随着中国IT产业,移动通信产业,家电产业的迅猛发展,在产品的人机交互接口设计发展上日益滞后,这对于提高产业综合素质,提升与国际同行业者的竞争能力等方面无疑起到了很大的制约作用。GUI系统的发展历史图形用户接口(GUI)这一概念是70年代由施乐公司帕洛阿而托研究中心提出的,现在所说的普遍意义上的GUI便是由此产生的。1973施乐公司帕洛阿而托研究中心(XeioxPARC)施乐研究机构工作小组最先构建了WIMP(

34、窗口,图标,菜单和点选器/下拉菜单)的范例,并率先在施乐一台实验性的机器上使用。接下來就要数在1980的出现的TliieeRiveisPerqgraplucalworkstation和在1981年出现的XeroxStar系统。1983年的VisiOn系统最开始是一家公司为电子制表软件而设计的,这软件就是具有传奇色彩的VisiCalc,它在1983年首次介绍了在PC环境下的“窗口”和鼠标的概念,其先于“微软窗口”的出现,但VisiOn并没有成功研制。1985年Amiga计算机公司研究出一款运用GUI的计算机,叫hituitioiicAmigaGUI在当时独一无二,因为在那时候GUI还不能提供足够

35、的控制功能,Amiga就已经能使用弹出式的命令行接口(CLI)To同年,微软公司正式发布了第一代窗口式多任务系统-Windows1.0,由于当时硬件水平所fg,Windows1.0并没有获得预期的社会效果,也没有发挥出它的优势。但是,该操作系统的推出,却标志着PC机进入了图形用户接口的时代。1990年Windows3.0窗口系统的推出,以及3.2等版本的完善,标志着图形用户接口系统应用的真正开始,但是,这些版本都是由DOS引导的,还不是一个完全独立的系统。1995年Windows95的问世,以其友好一致的窗口操作接口和进一步完善的图形用户接口,征服了绝大多数的PC机用户,随后,微软继续推出的W

36、mdows9&Wmdows2000,WmdowsXP等版本,使得Windows系统更加完善,并且由此确定了Windows窗口系统在桌面操作系统上的统治地位。2.2嵌入式GUI系统简介嵌入式GUI为嵌入式系统提供了一种应用于特殊场合的人们交互界面。它所管理的资源有屏幕、窗口、象素映像、色彩表、字体、光标、图形资源及输入设备。从最终的用户的角度来看,嵌入式窗口系统通过窗口、菜单、对话盒、滚动条、图标及按钮等接口对象提供了一种与系统进行交互的灵活机制。从应用程序开发者的角度來看,它提供了一系列用于构造图形用户接口的编程机制,如各种库函数、接口对象类等。通过这些编程机制,可在设备独立的条件下开发接口友

37、好的应用程序。在常见的PDA等小型堂上型设备上,由于硬件条件等的限制,用户接口都非常简单,儿乎看不到在PC机上看到的华丽美观的GUI支持。但最近随着掌上型设备的硬件条件的提高,出现的Palin等掌上型计算机或者在WindowsCE等面向嵌入式系统的操作系统上,己经出现了完整的图形用户接口支持。近來的市场需求显示,越來越多的嵌入式系统,包括PDA、机顶盒、DVD/VCD播放机、WAP手机等等系统均要求提供全功能的Web浏览器。这包括HTML4.0的支持、JavaScnpt的支持,共至包括Java虚拟机的支持。而这一切均要求有一个高性能、高可靠的GUI的支持。嵌入式工业实时控制系统对实时性的要求非

38、常高,因此对GUI的要求也更高。这些系统一般不希望建立在庞大累赘的、非常消耗系统资源的操作系统和GUI之上,比如Wmdows或XWindow,而对轻型GUI的需求更加突出。另外,嵌入式系统往往是一种定制设备,它们对GUI的需求也各不相同。举个简单的例子,有的系统只要求一些图形功能,而有些系统要求完备的GUI支持。因此,GUI也必须是可定制的。总之,嵌入式GUI要求简单、直观、可靠、占用资源小且反应快速,以适应系统硬件资源有限的条件。另外,由于嵌入式系统硬件本身的特殊性,嵌入式GUI应具备高度可移植性与可裁减性,以适应不同的硬件条件和使用需求。总体來讲,嵌入式GUI具备以下特点:(1)体积小;(

39、2)运行时耗用系统资源小;(3)上层接口与硬件无关,高度可移植;(4)高可靠性;(5)可配置。Hl2.3现存的主要的嵌入式GUI系统简介1994年QNXr发布了第一个嵌入式微核的窗口系统,自此之后,随着嵌入式系统应用领域的不断扩大和嵌入式技术的发展成熟,嵌入式GUI系统的发展也空前繁荣。目前应用最广泛的主要有QT/Embedded.Microwindows.MmiGUI和WinCE窗口等。QT/EmbeddedQt/Embedded是著名的Qt库开发商Trolltech公司开发的面向嵌入式系统的Qt版本。因为Qt是KDE等项目使用的GUI支持库,许多基于Qt的XWindow程序因此可以非常方便

40、地移植到Qt/Embedded上。Qt/Embedded同样是Seivei/Client结构。其体系结构如图2.1所示:ApplicationSourceCodeQtAPIQt/XllQt/EmbeddedXlibXWindowSeiverFrame-BufferLinuxKernel图2.1QtEmbedded系统的体系结构图习Figure2.1SystemaichitectureofQt/EmbeddedQt/Embedded延续了Qt在X上的强大功能,在底层摒弃了Xlib,仅采用framebuffer作为底层图形接口。同时,将外部输入设备抽象为keyboard和mouse输入事件,底层接

41、口支持键盘、GPM鼠标、触摸屏以及用户自定义的设备等。Qt/Embedded类库完全釆用C卄封装。丰富的控件资源和较好的可移植性是Qt/Embedded最为优秀的一方面。它的类库接口完全兼容于同版本的Qt-Xll,使用X下的开发工具可以直接开发基于Qt/Embedded的应用程序QUI接口。Qt/Embedded的底层图形引擎只能釆用fiamebuffeio这就注定了它是针对高端嵌入式图形领域的应用而设计的。由于该库的代码追求面面俱到,以增加它对多种硬设备的支持,造成了其底层代码比较凌乱,各种补丁较多的问题。Qt/Embedded的结构也过于复杂臃肿,很难进行底层的扩充、定制和移植,尤其是用來

42、实现Signal/slot机制的MOC机制。综上所述,其主要的优点有:(1)Qt/Embedded工作在Linux的fiamebuffeidnvei(帧驱动)之上,通过QtAPI与LinuxLO设备直接交互。那些熟悉并已适应了面向对象编程的人员将发现它是一个理想环境;(2)它具有相当完善的图形功能和十分强大的图形引擎功能,用它开发出来的图形用户接口,金属质感强,精细美观,尤其在2D、3D图形接口开发上更是独领风骚,这就决定了它适合应用在对高级的图形功能要求多的手持电子类设备上。(3)面向对象的体系结构使代码结构化、可重用性好。其主要的缺点主要有:(1)没有分层,层次感不强;(2)代码量太大,在

43、版本2.3.x,约需要儿M左右,而现在的3.x.x版本,需要更多的空间,这点也使得QT/E在对资源精打细算的嵌入式系统开发中大受限制。不过,随着近儿年來闪存技术的飞速发展,嵌入式系统中闪存容量越來越大,这必将带來QT/E的飞速发展。(3)QT/E使用需要商业许可证。232MicrowindowsMicrowmdows是Centuiysoftware开发的开放源代码的嵌入式GUI,是一个典型的基于Seivei/Clment体系结构的GUI系统,基本分为三层,如图2.2所示:Nano-XAPIIECMAAPIW窗口管理硬件抽彖层显示设备输入设备图2.2Microwindows的体系结构图Figur

44、e2.2SystemarchitectureofNIiciowiiidowsMmigui都有C/S模式,它们之间进行通信的时候选用的是SOCKET通信机制。从本质上看,Socket就是进程间通信的端点,每个套接字的名字是唯一的,所以其他进程能够找到,连接上套接口并且访问它。一对连接的套接字构成了进程间交流数据的一条通信通道,这些进程可以是完全无关的,也能改变数据。一般而言,套接口的使用需要执行以下四个步骤:(1)分配空间和初始化;(2)套接字连接;(3)传送数据,进行通信;(4)关闭退出;Socket通信机制的原理图如图2.4所示:在服务器和客户端启动,分别进行自己的套接字初始化之后,它们各自

45、监听自己的消息端口;一旦接收到消息,进行简单的处理后,送到消息格式中心进行消息格式的转换,然后送到消息处理中心进行处理。服务器端的消息主要是客户连接请求,己连接请求,键盘、鼠标、定时器、网络等硬件事件;对于客户端,消息主要是来自服务器的控制消息,客户端之间通信消息和客户端之间数据传输的消息。9MessageQueue通信机制MessageQueue通信机制需要进行消息定义、消息传递和消息处理的实现,其最重要的就是消息处理循环,这部分会在4.1节中进行详细阐述。基于MessageQueue的通信机制的主要原理图如图2.5所示:图2.4C/S模式下Socket通信机制原理图Figure2.4Prm

46、ciplesofSocketconununicationmechanismunderC/SmodelRTEMS系统内核乙.:MlM2M3M4M5键盘事件处理鼠标事件处理触摸板事件处理LCD刷新事件处理GUIToolklr事件处理主循环图2.5MessageQueue通信机制原理图Figure2.5PrinciplesofMessageQueueconmiunicationmechanism245共享内存共享内存Servei11LJ|1tii11!1Clienti*1*1II11*1II11Clientj11图2.6共享内存通信机制原理图Figure2.6PrinciplesofShareMem

47、oryconuuunicationmechanism在有大数据量传输的时候,釆用共享内存的通信机制:在内存区中划出一块内存,供多个进程进行数据访问共亭。这种机制实现的重点在于多进程之间的互斥和同步的实现。其工作原理如图2.6所示。东北大学硕士学位论文第三章GUIToolkit开发环境 -第三草GUIToolkit开发环境3智能仪器嵌入式开发平台结构本嵌入式开发平台在硬件系统设计上釆用双CPU结构的嵌入式系统硬件平台,它包括以32位嵌入式CPU为中心的陨入式计算机部分和以DSP为中心的快速数据釆集处理部分。其中,嵌入式处理器主要完成任务调度、人机交互、网络通讯、图形显示等功能;而DSP处理器将用

48、于数据的快速釆集和处理等。主CPU以ARM和Motorola的Coldflie系统为主,DSP以TI公司的2000系列和5000系列为主,并配以信号隔离、信号预处理和AD转换等功能。两个CPU(嵌入式32位CPU和DSP)之间通过主机口HPI和USB口实现数据通信。系统设计,在多个方面进行了低功耗考虑。设计了USB、以太网硬件接口以及基于GSM/GPRS和欧洲蓝牙技术的无线通信接口。本嵌入式开发平台在软件系统上基于开放嵌入式实时操作系统源代码RTEMS,进行了RTEMS的移植性研究,完成RTEMS对Motorola多种CPU的支持;基于自主设计的coldfiie5307应用开发板,进行了关键外

49、部设备驱动程序开发;提供多种通讯接口驱动模块(以太网、USB、HPLGSM/GPRS和串并口等)和自主开发的图形用户接口开发包(GUIToolkit)o嵌入式软件平台的开发目标是为故障诊断应用搭建一个实用、有效的嵌入式故障诊断软件运行和开发环境,在此环境下可以方便完成基于嵌入式系统的各种故障诊断应用程序开发。系统包括嵌入式实时操作系统、BSP板包支持系统、GUI系统、故障诊断应用专家系统、故障诊断应用构件库等部分组成。本嵌入式开发平台的结构图如下:不同嵌入式环境的应用开发GUI开发包通信协议层Rs网络数据釆集板级支持包BSP数据处理CPU硬件目标板DSPfiti件目标板图3.1嵌入式开发平台系

50、统结构图Figure3.1SystemaichitectureoftheEmbeddedDevelopmentPlatform嵌入式开发平台3.1.1硬件系统嵌入式系统硬件平台设计是一套双CPU结构,它包括以32位嵌入式CPU为中心的嵌入式计算机部分和以DSP为中心的快速数据采集处理部分,如下图所示:CAN总线嵌入式MODBUS以太网USB界面处理器FLASHSRAM嵌入式计算机部分RAM模块数字信号处理DSP主机IIHPIAD信号隔离信号隔离参路缓变多路快变数据采集部分图32嵌入式系统硕件平台结构图Figure3.2HardwaresystemarchitectureoftheEmbedde

51、dDevelopmentPlatform由嵌入式计算机部分來运行操作系统,实现各类通信、人机交互操作等功能;由以DSP为主的数据采集处理部分來实现多通道的快速数据釆集和处理功能,充分发挥32位嵌入式CPU和DSP的不同功能特点。两个CPU(嵌入式32位CPU和DSP)之间通过主机口HPI实现数据通信。HPI是徳州仪器(TI)公司在新一代、高性能DSP芯片上配置的与主机进行通信的主机接口。它与主机之间能实现并行、高速的数据传输。在目前TI流行的DSP芯片中都配有HPI接口。HPI将以往一些需片外实现的功能集成在片内,简化了与主机的连接,同时主机可以达到很高的访问速度。这样的CPU通信设计方式,可

52、实现多个CPU之间的高速可靠通信,上述系统,釆用COLDFIRE5307和DSP5509之间可达到60Mbps的通信速度,采用三星ARM92410可达到120Mbps的通信速度。下面仅对上述硬件系统中最重要的嵌入式微处理器做简单的介绍。本系统中釆用的是美国Motorola公司生产的Coldfiie系列中型号为5307的嵌入式微处理器。Motorola公司是世界著名的处理器制造商,其CPU的特点是工作稳定可靠,抗干扰能力强,适合工业控制库方应用。而Coldfue5307CPU,就是一款专为嵌入式应用设计的高端处理器,其整合了ColdfkeV3微处理器内核,工作频率最高可达90M11Z,运算能力可

53、达75MIPS,能够保证很高的实时性1】。(1)其主要特性如下:8-Kbyteunifiedcache片上4-Kbyte高速静态SRAM整数/小数乘-加(MAC)运算单元除法运算单元SDRAM控制器4通道DMA控制器两个16位通用16位定时器两个通用异步串行口(UART)I2C总线接口并行I/O界面(2)处理器内核:变长的简化指令集(vaiiable-lengthRISC)与版本V2指令集完全兼容4段取指令管道(IFP)和2段执行指令管道(OEP)连接IFP和OEP的,可容纳8条指令的FIFO缓冲队列跳转预测机制32位内部地址总线,支持4G的线性地址空间32位数据总线16个32位的通用寄存器管

54、理员/用户模式提供系统保护中断向量基址寄存器可以复位位中断向量表为了支持高级语言而进行了优化(3)乘法/小数乘一加(MAC)运算单元为DSP应用提供高速,复杂的算术运算与OEP紧密相连支持16X16和32X32的乘法支持带符号的和不带符号的整形数据(4)8KbyteunifiedCache四信道分组互联结构东北大学硕士学位论文第三章GUIToolkit开发环境- -运作在核心处理器的频率提供对重要数据和指令的单指令周期的访问写直达和写回两种模式4个32位输出缓存(5)4KbvteSRAM可以映像在4G线性空间中的任何32中运作在核心处理器的频率提供对重要数据和指令的单指令周期(6)两个通用异步

55、串行口(UART)全双工方式可编程时钟调制解调器控制信号中断处理机制(7)两个16位通用16位定时器8位的时钟因子可以中断处理器(8)I2c模块片内集成了E2PROM,LCD控制器,A/D转换和小键盘的总线接口和工业标准完全兼容的I2c总线主从模式支持多个主设备优先级可编程的中断机制主/从模式支持多个主设备(9)系统接口模块片选提供了外扩&16和32位SRAMROM,FLASH的界面。8个完全可编程chip-select(10)16位的通用I/O接口(11)JTAG口(12)系统调试模块在仿真模式下对动态执行提供实时追踪CPU挂起时的背景调试模式(BDM)包括六个硬件中断点寄存器在内的实时调试

56、支持(13)片上PLL可提供的处理器/总线时钟是66/33,66/22,66/16,90/45,90/30,90/22.5提供节电模式3.1.2软件系统本嵌入式系统平台的软件系统以RTEMS实时性嵌入式操作系统内核为核心,基于开放嵌入式实时操作系统源代码RTEMS,进行了RTEMS的移植性研究,包括底层固件部分和板级支持包(BSP)的开发;基于自主设计的Coldfiie5307应用开发板,进行了关键外部设备驱动程序的开发;另外还提供多种通讯接口驱动模块(以太网、USB、HPI、GSM/GPRS和串并口等)以及本文中论述的运行在RTEMS操作系统之上的自主开发的图形用户接口开发包(GUITool

57、kit)。嵌入式软件平台的开发目标是为故障诊断应用搭建一个实用、有效的嵌入式故障诊断软件运行和开发环境,在此环境下可以方便完成基于嵌入式系统的各种故障诊断应用程序开发。系统包括嵌入式实时操作系统、BSP板包支持系统、GUI系统、故障诊断应用专家系统、故障诊断应用构件库等部分组成下面仅对上述软件系统中最重要的RTEMS实时性陨入式操作系统做简单的介绍。RTEMS(Real-TimeExecutiveforMultiprocessorSystems),即实时多处理器系统。最初是美国军方使用的实时导弹系统(Real-TimeExecutivefoiMissilesSystems),后來随着RTEMS

58、的发展,它己不仅仅在导弹中应用,故乂改名为实时军用系统(Real-TimeExecutiveforMilitarySystems)后來它变为支持多处理器的C语言的应用,才叫今天的名字。现在由OAR公司负责版本的升级与维护。目前无论是航空航天、军工,还是民用领域RTEMS都有着极为广泛的应用。RTEMS系统体系结构RTEMS是基于优先级可抢占的微内核的实时操作系统。它的一个重要的设计特征就是在一个实时应用的两层中间提供一个桥。RTEMS就象一个在应用代码和目标硬件中的缓冲区oRTEMS的I/O接口管理提供一个有效的工具将这些硬件依赖融合在一个系统中,同时为用户的应用提供一种通用的机制。一个设计良

59、好的的实时系统可以从这体系结构中获得好处,通过建立丰富的标准应用库来可以重复使用在不同的实时应用中。RTEMS主要的特征(1)以优先级为基础的多任务实时系统;(2)任务调度可以优先级抢占控制;(3)支持多任务的通信和同步;(4)支持中断管理;(5)支持动态内存分配;ApplicationDependentSoftwareTargetHaidwaie3.3RTEMS系统体系结构Figure3.3SystemarchitectureofRTEMSOpeiatmgSystem支持多处理器;支持速率单调调度算法(RMS),可以保证任务的硬实时性;支持多种网络协议:IP,TCP.UDETFTP,FTPd

60、,Dialer,NTP,ICMRARP,DNS,dient,HTTPd,PPP,SNMP.具有强大的网络功能。提供遵循POSIX1003.1b和ITRON的API;(10)提供可重入的ANSIC库;3.RTEMS的性能指针RTEMS从设计初始就是为较少内存与较少CPU主频的陨入式系统提供可靠的实时内核。在国际控制年会Straumaim的一篇报导做过如下的测试】,测试的硬件平台是PowerPC604(300MHz),Rtlmux,RTEMS和VxWoiks的BSP都是由Motorola提供,测试内容包括初始化、中断处理、普通程序(包括网络程序、SPL串口等)。测试中产生了2,000,000次中断

温馨提示

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

评论

0/150

提交评论