(计算机软件与理论专业论文)基于rtems操作系统的图形工具开发包的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于rtems操作系统的图形工具开发包的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于rtems操作系统的图形工具开发包的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于rtems操作系统的图形工具开发包的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于rtems操作系统的图形工具开发包的设计与实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

东北大学硕士学位论文 摘要 基于r t e m s 操作系统的图形工具开发包的设计与实现 一一关键技术与模块类的设计与实现 摘要 随着嵌入式工业的不断成熟与发展,嵌入式g u i 系统的重要性也日益突出,为工控 嵌入式系统开发一个专用的g u i 开发系统势在必行。本文详细阐述的就是为该软件开发 平台的主体部分一- - r t e m s 实时性操作系统设计开发的一个嵌入式g u i 开发系统( g u i t b o l k i t ) 。 本文首先介绍了嵌入式开发平台的整体结构,以及本g u i 开发系统在其中的位置 和作用,接下来又对该g u i 开发系统的开发环境作了简单的描述。 本文在深入讨论当今嵌入式领域中应用最为广泛的几种g u i 系统的系统结构的基 础,设计了运行在r t e m s 实时嵌入式操作系统之上的g u i 开发系统的整体分层结 构:底层接口抽象层、中间引擎层和上层应用接口层。 本文在尽可能的考虑嵌入式系统和工控领域的要求下,进行了该g u i 开发系统模块 类的功能定义和骨干类的接口实现。骨干类包括底层绘图类( g f x 类) 、消息队列类 ( m e s s a g eq u e u e 类) 、绘图类( p a i n t e r 类) 、绘图对象类( p a i n t e r d e v i c e 类) 、鼠标、键 盘事件处理类( m o u s e 、k e y b o a r dh a n d l e 类) 、字体管理类( f o n tm a n a g e m e n t 类) 等。 本文还详细阐述了该g u i 开发系统中实现的关键技术:事件消息机制、窗口技术、 调色板查找算法、动态曲线绘制算法和编译规则等。其中,本g u l 开发系统设计实现了 事件消息机制,它基于r t e m s 的消息管理器,以消息的完全封装为特点,并对传统c s 模式下的通信机制做了改进。本文重点分析了该机制的关键部分设计,并且给出了具体 实现的关键数据结构和事件消息处理逻辑流程。本文还实现了调色板的最接近查找算 法,并对其通过增设软件c a c h e 的方法做了改进,提高查找速度。本文采用了内插法的 动态曲线绘制算法,满足工控曲线的绘制显示要求。本文还为本g u i 开发系统应用开发 制定了统一的编译规则,将r t e m s 操作系统、g u i 开发系统模块库和g u i 应用程序编 译到指定目标硬件系统上的二进制映像中。 在文章的最后给出了该g u i 开发系统的最小系统定义和实现,并且进行了测试评 价。 关键词:g u i 开发系统;嵌入式g u i 设计:r t e m s ;事件消息机制;调色板查找算 法:编译规则; i i 东北大学硕士学位论文 a b s t r a c t t h ed e s i g na n di m p l e m e n t a t i o no fg u it o o l k i tf o rr t e m s - - d e s i g na n dd e v e l o p m e n to f k e yt e c h n i q u e sa n dm o d u l ec l a s s e s a b s t r a c t w i t ht h er a p i dd e v e l o p m e n ta n dm a t u r i t yo fe m b e d d e dt e c h n o l o g y , g u is y s t e mh a s b e c o m ea ni m p o r t a n tp a r to fa ne m b e d d e ds y s t e m i t si m p e r a t i v et od e s i g nas p e c i a l i z e dg u i s y s t e mf o ri n d u s t r i a lm o n i t o ra n dc o n 订o le m b e d d e ds y s t e m s i nt h i sp a p e r , ag u is y s t e m , t o g e t h e rw i t hi t st o o l k i t ,i sd e v e l o p e d t or t l no nr t e m sr e a l t i m eo p e r a t i n gs y s t e m a no v e r a l ls t r u c t u r eo fe m b e d d e ds y s t e md e s i g np l a t f o r mi sf i r s tp r e s e n t e di nt h i sp a p e r t h el o c a t i o na n df i m c t i o n so fag u it o o l k i ti nt h es y s t e ma n di t sd e v e l o p m e n te n v i r o n m e n t a r eb r i e f l yi n t r o d u c e d o nt h eb a s i so fat h o r o u g hr e v i e wo fw i d e l yu s e dg u is y s t e m sa n dt h e i ri n f r a s t m c t u r e , w e p r e s e n t e da l lo v e r a l ll a y e r e ds t r u c t u r eo ft h eg u it o o l k i tr u n n i n go nr t e m sr e a l t i m e o p e r a t i n gs y s t e m ,w h i c hi n c l u d e st h el o w e n da b s t r a c ti n t e r f a c el a y e r ,t h eg u ie n g i n el a y e r a n dt h eh i g h - e n du s e ra p p l i c a t i o ni n t e r f a c el a y e r t h ef u n c t i o nd e f i n i t i o n ,m o d u l ed e f i n i t i o na n dt h em a i nc l a s s e so ft h eg u it o o l k i ta r e i m p l e m e n t e dc o n s i d e r i n gb o t he m b e d d e ds y s t e mr e q u i r e m e n t sa n di n d u s t r i a lm o n i t o ra n d c o n t r o ls y s t e mr e q u i r e m e n t s t h ec l a s ss e ti sc o n s i s to fl o w l e v e lg r a p h i c a lc l a s s e s ,m e s s a g e q u e u ec l a s s e s ,p a i n t e rc l a s s e s ,p a i n t e rd e v i c ec l a s s e s ,e v e n th a n d l e rc l a s s e s ,f o n tm a n a g e m e n t c l a s s e s ,e t e t h ek e yt e c h n i q u e s ,w h i c hi n c l u d ee v e n tm e s s a g em e c h a n i s m ,w i n d o w i n gt e c h n i q u e , p l a t t es e a r c h i n ga l g o r i t h m ,d y n a m i cc u r v ed r a w i n ga l g o r i t h ma n dc o m p i l i n gr u l e s t h ee v e n t m e s s a g em e c h a n i s mi si m p l e m e n t e d o nt h e b a s i so fr t e m sm e s s a g em a n a g e r t h e c o m m u n i c a t i o nm e c h a n i s mi sc h a r a c t e r i z e db yc o m p l e t ee n c a p s u l a t i o no fm e s s a g e sa n da l s o i sam o d i f i c a t i o no ft r a d i t i o n a lc sc o m m u n i c a t i o nm e c h a n i s m t h i sp a p e rm a i n l yd i s c u s s e d t h e i m p l e m e n t a t i o no fs u c ham e c h a n i s m ,a n dt h ek e yd a t as t r u c t u r e sa n dt h el o g i c a l p r o c e s s i n gf l o wa r ea l s op r e s e n t e d ap l a t t es e a r c h i n ga l g o r i t h ma n das o f t w a r e i m p l e m e n t e d c a c h ei si n t e g r a t e dt ob o o s ts e a r c h i n gs p e e d aa l g o r i t h mb a s e dd y n a m i cc u r v ed r a w i n gi s a d o p t e dt os a t i s f yt h er e q u i r e m e n t so fi n d u s t r i a lc o n t r o ls y s t e m s t h i sp a p e ra l s od e f i n e sas e t o fu n i f o r mc o m p i l i n gr u l e s ,w h i c hc o m p i l e sr t e m so p e r a t i n gs y s t e m ,t h eg u it o o l l c i t m o d u l el i ba n dt h eu s e rg u ia p p l i c a t i o n si n t oab i n a r yi m a g ef o rt h et a r g e tp l a t f o r m am i n i m u ms y s t e md e f i n i t i o na n di t si m p l e m e n t a t i o na r ep r e s e n t e di nt h el a s tp a r to f t h i s i 东北大学硕士学位论文 ab s t r a c t p a p e r t h ep e r f o r m a n c eo f t h eg u is y s t e mi sa l s oe v a l u a t e d k e y w o r d s :g u it o o l k i t ;e m b e d d e dg u id e s i g n ;r t e m s ;e v e n tm e s s a g em e c h a n i s m ;p l a t t e s e a r c h i n ga l g o r i t h m ;c o m p i l i n gr u l e s ; ,i v 独创性声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得 的研究成果除加以标注和致谢的地方外,不包含其他人己经发表或撰写过 的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 学位论文作者签名南、祗 日期:动p6 、2 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人授权东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师同意网上交流,请在下方签名;否则视为不同意。) 学位论文作者签名: 签字日期: 导师签名: 签字日期: 东北丸学硕士学位论文 第一章引言 第一章引言 1 1 嵌入式系统背景 美国著名未来学家尼葛洛庞帝9 9 年1 月访华时预言,4 5 年后嵌入式智能( 计算机) 工具将是继p c 和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士9 8 年1 1 ,月在武汉全国第1 1 次微机学术交流会上发表的计算机的发展与技术一文中, 对未来1 0 年以嵌入式芯片为基础的计算器工业进行了科学的阐述和展望 1 1 。 随着后p c 时代的到来,使得人们开始越来越多地接触到一个新的概念嵌入式 产品。像手机、p d a ( 如商务通等) 均属于手持的嵌入式产品,v c d 机、机顶盒等也 属于嵌入式产品,而像车载g p s 系统、数控机床、网络冰箱等同样都采用嵌入式系统。 形式多样的数字化设备正努力把i n t e m e t 连接到人们生活各个角落,也就是说中国数字 化设备的潜在消费者数量将以亿为单位。嵌入式软件是数字化产品的核,心。如果说p c 机的发展带动了整个桌面软件的发展,那么数字化产品的广泛普及必将为嵌入式软件产 业的蓬勃发展提供无穷的推动力。 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适 应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 重要的特点有4 个:专用性,功能强大,性价比高,开发周期短。 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用 相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断 创新的知识集成系统。 今天嵌入式系统带来的工业年产值已超过了1 万亿美元,1 9 9 7 年来自美国嵌入式系 统大会( e m b e d d e ds y s t e mc o n f e r e n c e ) 的报告指出,未来5 年仅基于嵌入式计算机系统的 全数字电视产品,就将在美国产生一个每年1 5 0 0 亿美元的新市场 2 1 。美国汽车大王福特 公司的高级经理也曾宣称,“福特出售的计算能力已超过了m m ”,由此可以想见嵌入 式计算器工业的规模和广度。 纵观国际相关产业在图形化用户接口设计方面的发展现状,许多国际知名公司早已 意识到g u i 在产品方面产生的强大的增值功能,以及带动的巨大的市场价值,因此在公 司内部设立了相关部门专门从事g u i 的研究与设计。同行业间也成立了若干机构,以互 相交流g u i 设计理论与经验为目的。随着中国i t 产业,移动通信产业,家电产业的迅 猛发展,在产品的人机交互接口设计发展上日益滞后,这对于提高产业综合素质,提升 与国际同行业者的竞争能力等方面无疑起到了很大的制约作用。 1 东北大学硕士学位论文 第一章引言 1 2 课题来源及其描述 随着嵌入式技术的不断成熟与发展,面向大中型机电设备的在线状态监测与故障诊 断类仪器的开发已经形成了一个很大的产业,该类智能仪器的出现,已经在大型机电设 备维修和故障诊断方面带来了一场革命,这就是用科学的“状态维修”,逐渐代替非科 学的周期性维修。先进国家的大型设备都逐步采用在线维修的方法,采用该方法一是可 以提前发现故障,避免重大事故和经济损失,二是维修变得经济可靠,在大型机电设备 上应用智能化状态监测和故障诊断仪器之后,使企业可以有依据的只对有问题的设备进 行维修,而其他设备可以照常运行,产生效益。我国当前普遍采用的维修方法是周期性 维修,即到一定周期,不管设备有没有问题,全部停机大拆。这种维修方法没有可靠性 依据,长时间的大修期给企业造成的损失巨大,仅以电厂的一个机组为例,一次大修需 要3 个月,给电厂造成的损失可达千万。而在两个维修期之间的这段时间,设备出现故 障却不能被提前发现,仍然不可避免的出现一些大型事故。 面向大型设备状态监测与故障诊断智能仪器的开发,在发达国家已经非常成熟,美 国的c s i 、本特立、恩泰克、西屋等公司的产品在世界各地的各大工矿企业都有成功的 应用,产生了巨大的社会效益。国内许多企业逐渐认识到设备在线故障监测的重要性,美 国c s i 、本特立、恩泰克、西屋等公司的产品在中国都有应用,先进的维修理念已开始 在我国工矿企业得到逐步的渗透。但是到目前为止,基于嵌入式技术的该类设备在我国 仍属空白,没有成熟的产品应用,其根本原因就是因为我国在开发这类产品时,没有统一 的开发标准和一个共用的开发平台,使各个企业的开发技术力量分散,而且没有可靠的 功能和性能测试标准,极大的影响了该类产品开发的效率和可靠性,同国外产品相比, 功能相差太大,没有竞争力,市场基本上被国外公司所占领,开发一个该类嵌入式开发 系统已经是势在必行。 同国外相比,国内还没有一套针对该类智能仪器开发的嵌入式软件开发平台和环 境,因此迫切需要套这样的系统,来整体上提高我国开发该类智能仪器的水平和开发 速度。为了提高该类智能化仪器产品的嵌入式应用系统的开发效率,满足不同仪器开发 的需要,本课题主要研究嵌入式软件开发平台的有关内容。 本课题隶属于国家8 6 3 项目面向大型机电设备状态检测与故障诊断的智能仪器 嵌入式软件开发平台的开发。该8 6 3 项目己经完成了基于m o t o r o l ac o l d f i r e5 3 0 7 的底层 硬件系统和实时操作系统r t e m s 内核的移值。本课题就是实现该嵌入式开发平台 r t e m s 实时性操作系统上图形用户开发工具包( g 饥t o o l k i t ) 的开发,为该开发平台 实现上层图形用户接口开发的支持。本图形用户开发工具包( g u it o o l k i t ) 的开发充 分考虑到了嵌入式系统和工控领域的特点,主要包括g u it o o l k i t 系统整体设计、功能 一2 东北大学硕士学位论文 第一章引言 类设计实现以及事件消息机制、窗1 2 技术、用户接口和交互技术、r t e m s 接口驱动等 关键技术的实现。本g u it o o l k i t 运行于r t e m s 操作系统之上,提供丰富的功能模块, 完善的图形功能,清晰的用户开发接口( a p t ) ,力求应用本g u tt o o l k i t 开发出来的图 形用户界面功能丰富,简洁美观。 1 3 后继章节安排 本章主要对嵌入式系统尤其是嵌入式g u i 系统进行了简单的介绍,接着讲述了课题 来源,并对本课题进行了概括性的描述。 第二章对g u i 系统、嵌入式g u i 系统进行了简单的叙述,讨论了现在嵌入式系统 中应用广泛的几种嵌入式g u i 的系统机构及其优缺点,最后简单介绍了一下常见的几种 g u i 系统内部的通信方式。 第三章重点介绍了本g u it o o l k i t 的开发环境。首先说明的是本g u it o o l k i t 所属的 8 6 3 项目一嵌入式系统开发平台的整体结构,以及本g u it o o l k i t 在其中所处的位置和作 用。接下来是对本g u it o o l k i t 宿主机和目标机开发环境的说明。 第四章介绍了本g u it o o l k i t 中设计实现的关键技术。其中包括具有消息完全封装 特色的消息通信机制、多窗口技术、调色板查找算法、动态曲线绘制算法和编译规则等。 第五章给出了本g u it o o l k i t 的整体结构设计,重点描述了模块类的功能定义和类 接口的实现。并在最后给出了最小系统的实现和性能评价。 第六章是结论与未来工作。 3 。 东北大学硕士学位论文 第二章g u i 系统基本概念与相关工作 第二章g u i 系统基本概念与相关工作 2 1g u i 系统概念及其发展历史 2 1 1g u i 系统概念 g u i - - g r a p h i c a lu s e ri n t e r f a c e 即人机交互图形化用户接口设计,准确点说就是屏幕 产品的视觉体验和互动操作部分。它是一种结合计算机科学、美学、心理学、行为学以 及各商业领域需求分析的人机系统工程,强调人一机一环境三者作为一个系统进行总体 设计,其设计的主要准则如下: ( 1 ) 减少用户的认知负担; ( 2 ) 保持界面的一致性; ( 3 ) 满足不同目标用户的创意需求; ( 4 ) 用户接口友好性; ( 5 ) 图示识别平衡性; ( 6 ) 图标功能的一致性; ( 7 ) 建立接口与用户的互动交流; 其主要的应用领域有: ( 1 ) 手机通讯移动产品: ( 2 ) 计算机操作平台: ( 3 ) 软件产品; ( 4 ) p d a 产品: ( 5 ) 数码产品: ( 6 ) 车载系统产品; ( 7 ) 智能家电产品: ( 8 ) 游戏产品: ( 9 ) 产品的在线推广等; 纵观国际相关产业在图形化用户接口设计方面的发展现状,许多国际知名公司早已 意识到g u i 在产品方面产生的强大的增值功能,以及带动的巨大的市场价值,因此在公 司内部设立了相关部门专门从事g u i 的研究与设计。同行业间也成立了若干机构,以互 相交流g u i 设计理论与经验为目的。随着中国r r 产业,移动通信产业,家电产业的迅 猛发展,在产品的人机交互接口设计发展上日益滞后,这对于提高产业综合素质,提升 5 东北大学硕士学位论文 第二章g u l 系统基本概念与相关工作 与国际同行业者的竞争能力等方面无疑起到了很大的制约作用。 2 1 2g u i 系统的发展历史 图形用户接口( g u i ) 这一概念是7 0 年代由施乐公司帕洛阿而托研究中心提出的, 现在所说的普遍意义上的g u i 便是由此产生的。 1 9 7 3 施乐公司帕洛阿而托研究中心( x e r o xp a r c ) 施乐研究机构工作小组最先构 建了w i m p ( 窗口,图标,菜单和点选器下拉菜单) 的范例,并率先在施乐一台实验性 的机器上使用。接下来就要数在1 9 8 0 的出现的t h r e e r i v e r sp e r qg r a p h i c a lw o r k s t a t i o n 和 在1 9 8 1 年出现的x e r o xs t a r 系统。 1 9 8 3 年的v i s io n 系统最开始是一家公司为电子制表软件而设计的,这软件就是具 有传奇色彩的v i s i c a l c ,它在1 9 8 3 年首次介绍了在p c 环境下的“窗口”和鼠标的概念, 其先于“微软窗口”的出现,但v i s i o n 并没有成功研制。 1 9 8 5 年a m i g a 计算机公司研究出一款运用g u i 的计算机,口qi n t u i t i o n 。a m i g a g u i 在当时独一无二,因为在那时候g u i 还不能提供足够的控制功能,a m i g a 就已经能使用 弹出式的命令行接口( c l i ) 了。同年,微软公司正式发布了第一代窗口式多任务系统 w i n d o ,s 1 0 ,由于当时硬件水平所限,w i n d o w s l 0 并没有获得预期的社会效果,也 没有发挥出它的优势。但是,该操作系统的推出,却标志着p c 机进入了图形用户接口 的时代。 1 9 9 0 年w i n d o w s 3 0 窗口系统的推出,以及3 2 等版本的完善,标志着图形用户接 口系统应用的真正开始,但是,这些版本都是由d o s9 1 导的,还不是一个完全独立的 系统。1 9 9 5 年w i n d o w s 9 5 的问世,以其友好一致的窗口操作接口和进一步完善的图形 用户接口,征服了绝大多数的p c 机用户,随后,微软继续推出的w i n d o w s 9 8 , w i n d o w s 2 0 0 0 ,w i n d o w sx p 等版本,使得w i n d o w s 系统更加完善,并且由此确定了 w i n d o w s 窗口系统在桌面操作系统上的统治地位。 2 2 嵌入式,g u i 系统简介 嵌入式g u i 为嵌入式系统提供了种应用于特殊场合的人们交互界面。它所管理的 资源有屏幕、窗口、象素映像、色彩表、字体、光标、图形资源及输入设备。从最终的 用户的角度来看,嵌入式窗口系统通过窗口、菜单、对话盒、滚动条、图标及按钮等接 口对象提供了一种与系统进行交互的灵活机制。从应用程序开发者的角度来看,它提供 了一系列用于构造图形用户接口的编程机制,如各种库函数、接口对象类等。通过这些 编程机制,可在设备独立的条件下开发接口友好的应用程序口 。 在常见的p d a 等小型掌上型设备上,由于硬件条件等的限制,用户接口都非常简 一6 一 东北大学硕士学位论文 第二章g u l 系统基本概念与相关工作 单,几乎看不到在p c 机上看到的华丽美观的g u l 支持,但最近随着掌上型设备的硬 件条件的提高,出现的p a l m 等掌上型计算机或者在w i n d o w sc e 等面向嵌入式系统 的操作系统上,已经出现了完整的图形用户接口支持。 近来的市场需求显示,越来越多的嵌入式系统,包括p d a 、机顶盒、d v d v c d 播 放机、w a p 手机等等系统均要求提供全功能的w e b 浏览器。这包括h t m l4 0 的支 持、j a v a s c r i p t 的支持,甚至包括j a v a 虚拟机的支持。而这一切均要求有一个高性能、 高可靠的g u i 的支持。 嵌入式工业实时控制系统对实时性的要求非常高。因此对g u i 的要求也更高。这 些系统一般不希望建立在庞大累赘的、非常消耗系统资源的操作系统和g u i 之上,比 如w i n d o w s 或xw m d o w ,而对轻型g u i 的需求更加突出。 另外,嵌入式系统往往是一种定制设备,它们对g u i 的需求也各不相同。举个简 单的例子,有的系统只要求一些图形功能,而有些系统要求完备的g u l 支持。因此, g u i 也必须是可定制的。 总之,嵌入式g u i 要求简单、直观、可靠、占用资源小且反应快速,以适应系统硬 件资源有限的条件。另外,由于嵌入式系统硬件本身的特殊性,嵌入式g u i 应具备高度 可移植性与可裁减性,以适应不同的硬件条件和使用需求。总体来讲,嵌入式g u i 具备 以下特点: ( 1 ) 体积小: ( 2 ) 运行时耗用系统资源小; ( 3 ) 上层接口与硬件无关,高度可移植: ( 4 ) 高可靠性; ( 5 ) 可配置。【4 】 2 3 现存的主要的嵌入式g u i 系统简介 1 9 9 4 年q n x r 发布了第一个嵌入式微核的窗口系统,自此之后,随着嵌入式系统应 用领域的不断扩大和嵌入式技术的发展成熟,嵌入式g u i 系统的发展也空前繁荣。目前 应用最广泛的主要有q t e m b e d d e d 、m i c r o w i n d o w s 、m i n i o u i 和w i n c e 窗口等。 2 - 3 1o t e m b e d d e d q t e m b e d d e d 是著名的q t 库开发商t r o l l t e c h 公司开发的面向嵌入式系统的q t 版本。 因为q t 是k d e 等项目使用的g u l 支持库,许多基于q t 的x w i n d o w 程序因此可以非 常方便地移植到q t e m b e d d e d 上。q t e m b e d d e d 同样是s e r v e r c l i e n t 结构。其体系结构 f 5 1 如图2 1 所示: 7 东北大学硕士学位论文 第二章g u i 系统基本概念与相关工作 图2 1q t e m b e d d e d 系统的体系结构图 f i g 2 1s y s t e ma r c h i t e c t u r eo f q t e m b e d d e d q f f e m b e d d e d 延续了q t 在x 上的强大功能,在底层摒弃了xl i b ,仅采用f r a m e b u f f e r 作为底层图形接e l 。同时,将外部输入设备抽象为k e y b o a r d 和m o u s e 输入事件,底层 接口支持键盘、g p m 鼠标、触摸屏以及用户自定义的设备等。 q t e m b e d d e d 类库完全采用c + + 封装。丰富的控件资源和较好的可移植性是 q t e m b e d d e d 最为优秀的一方面。它的类库接口完全兼容于同版本的q x 1 1 ,使用x 下的开发工具可以直接开发基于q t e m b e d d e d 的应用程序q u i 接口。 q t j e m b e d d e d 的底层图形引擎只能采用f r a m e b u f f e r 。这就注定了它是针对高端嵌入 式图形领域的应用而设计的。由于该库的代码追求面面俱到,以增加它对多种硬设备的 支持,造成了其底层代码比较凌乱,各种补丁较多的问题。 q t e m b e d d e d 的结构也过于复杂臃肿,很难进行底层的扩充、定制和移植,尤其是 用来实现s i g n a l s l o t 机制的m o c 机制。 综上所述,其主要的优点有: ( 1 ) q t e m b e d d e d 工作在l i n u x 的f r a m e b u f f e r d r i v e r ( 帧驱动) 之上,通过q t a p i 与l i n u xi ( 3 设备直接交互。那些熟悉并已适应了面向对象编程的人员将发现它是一个 理想环境; ( 2 ) 它具有相当完善的图形功能和十分强大的图形引擎功能,用它开发出来的图形 用户接口,金属质感强,精细美观,尤其在2 d 、3 d 图形接口开发上更是独领风骚,这 就决定了它适合应用在对高级的图形功能要求多的手持电子类设备上。 ( 3 ) 面向对象的体系结构使代码结构化、可重用性好。 其主要的缺点主要有: 8 一 东北大学硕士学位论文 第二章g u i 系统基本概念与相关工作 ( 1 ) 没有分层,层次感不强; ( 2 ) 代码量太大,在版本2 _ 3 x ,约需要几m 左右,而现在的3 x x 版本,需要更多 的空间,这点也使得q t e 在对资源精打细算的嵌入式系统开发中大受限制。不过,随 着近几年来闪存技术的飞速发展,嵌入式系统中闪存容量越来越大,这必将带来q t e 的飞速发展。 ( 3 ) q t e 使用需要商业许可证。 2 3 2m i c r o w i n d o w s m i c r o w i n d o w s 是c e n t u r ys o f t w a r e 开发的开放源代码的嵌入式g u i t “,是一个典型 的基于s e r v e r c l i n e n t 体系结构的g u i 系统,基本分为三层,如图2 2 所示: n a n o xa p ie c m aa p i w 窗口管理l 硬件抽象层 显示设备输入设备 图2 2m i c r o w i n d o w s 的体系结构图 f i g 2 2s y s t e ma r c h i t e c t u r eo f m i c r o w i n d o w s 最底层是设备与平台相关层,主要是面向图形显示和键盘、鼠标或触摸屏的驱动程 序;系统针对显示屏、鼠标、触屏以及键盘等各定义了一个数据结构。该数据结构和顶 层结构一样,供图形引擎使用,包含了针对指定设置和硬件驱动代码。m i c r o w i n d o w s 中还包含了诸多设备和操作系统的各种版本的驱动程序。屏幕驱动可支持系统1 、2 、4 、 8 、1 6 、2 4 、3 2 位显示和调色板、真彩色、灰度等颜色模式。屏幕驱动中还包括一些入 口指针,这些指针分别用读写像素、绘制水平或垂直线,在屏幕和内存之间相互映像内 存空间。在实现这些基本指标的过程中需运行包括t r u e t y p e 或a d o b et y p e 的字体支持、 r g b 颜色支持、j p e g 以及b m p 图形处理等m i c r o w i n d o w s 上层函数。如果屏幕驱动中 还包括有硬件加速的话,仅需更改驱动程序即可;也可在系统中添加触屏、键盘、按键 等的输入。 中间层是图形引擎层,又称为设备与平台无关层,提供底层硬件的抽象接口,并进 行窗口管理;图形引擎层为应用层提供了一系列相应的入口指针调用绘图函数,还为所 有的颜色指定了r g b 的颜色模型;同样,该层也与显示设备无关,可以由r g b 值为判 断硬件中的像素值。除此之外,m i c r o w i n d o w s 还在中间层实现裁减功能,它采用多矩 形算法,可在任意复杂的区域中实现绘图功能。中间层还要控制所有字体的显示,支持 一9 东北大学硕士学位论文 第二章g u i 系统基本概念与相关工作 f r e e t y p e 以及使用t 1 l i b 的a d o b et y p e1 字体、支持e e 例字体,同时还支持a s c h 、 u n i c o d e 1 6 、u n i c o d e 一3 2 、u t f l 8 编码规则。 最高层分别提供兼容于xw i n d o w 和e c m aa p i w ( w i n 3 2 子集) 的a p i 。其中使 用n a n o x 接口的a p i 与x 接口兼容,但是该接口没有提供窗口管理,如窗口移动和窗 口剪切等高级功能,系统中需要首先启动n a r l o x 的s e r v e r 程序n a n o x s e r v e r 和窗口管理 程序n a n o w i i l 。用户程序连接n a n o x 的s e r v e r 获得自身的窗口绘制操作。使用e c m a a p i w 编写的应用程序无需i l a n o x s e r v e r 和r l a n o w i 1 ,可直接运行。 m i c r o w i n d o w s 提供了相对完善的图形功能和一些高级的特性,如a 1 曲a 混合、三维 支持和t r u e t y p e 字体支持等。该系统为了提高运行速度,也改进了基于s o c k e t 套接字 的x 实现模式,采用了基于消息机制的s e r v e r c l i e n t 传输机制。m i c r o w i n d o w s 也有一 些通用的窗口控件,但其图形引擎存在许多问题,可以归纳如下: ( 1 ) 图形设备抽象不合理,无任何硬件加速能力; ( 2 ) 图形弓l 擎中存在许多低效算法,最为突出的是图形剪切算法和区域维护算法。 由于该项目缺乏一个强有力的核心代码维护人员,2 0 0 3 年m i c r o w i n d o w s 推出版本 o ,9 0 后,该项目的发展开始陷于停滞状态。 它的代码量比较小,一般在1 0 0 k 2 0 0 k 左右,但是由于图形引擎的效率不高,图 形引擎的功能不强,提供的图形功能简单,它一般运用在对图形用户接口要求比较低的 中低端的控制类设备上。 2 3 3m i n i g u i m i n i g u i 是由国内自由软件开发人员设计开发的,目标是为基于l i n u x 的实时嵌入 式系统提供一个轻量级的图形用户接口支持系统。m i n i g u i 的体系架构川如图2 3 所示: m i n i g u l 分为最底层的o a l 层和i a l 层,向上为基于标准p o s i x 接口中p t h r e a d 库的m i n i - t h r e a d 架构和基于s e r v e r c l i e n t 的m i i l i l i t e 架构。其中前者受限于t h r e a d 模 式对于整个系统的可靠性影响进程中某个t h r e a d 的意外错误可能导致整个进程的崩 溃,该架构应用于系统功能较为单一的场合。m i l l i l i t e 应用于多进程的应用场合,采用 多进程运行方式设计的s e r v e r c l i e n t 架构能够较好地解决各个进程之间的窗口管理、z 序剪切等问题。m i l l i g u l 还有种从m i n i l i r a 衍生出的s t a n d a l o n e 运行模式。与l i f e 架构不同的是,s t a n d a l o n e 模式一次只能以窗口最大化的方式显示一个窗口。这在显示 屏尺寸较小的应用场合具有一定的应用意义。 m i n i g u i 的g a l 层技术s v g a l i b 、l i b g g i 、基于丹a m e b u f f e r 的n m i v e 图形引擎以 及哑图形引擎等,对于t r o l l t e c h 公司的q v f b 在xw i n d o w 下也有较好的支持。i a l 1 0 东北大学硕士学位论文第二章g u i 系统基本概念与相关工作 e c m a a p i w 接口 m i n i t h r e a d 或m i n i l i t e q 址层i a l 层 l 系统硬件驱动 系统硬件 图2 3m i n i g u i 的系统结构图 f i g 2 3s y s t e ma r c h i t e c t u r eo f m i n i g u i 层则支持l i n u x 标准控制台下的g p m 鼠标服务、触摸屏、标准键盘等。 m i n i g u i 下丰富的控件资源也是m i n i g u i 的特点之一。当前m i n i g u i 的最新版本 是1 3 _ 3 。该版本的控件中已经添加了窗口皮肤、工具条等桌面g u i 中的高级控件支持。 其优点主要有: ( 1 ) 灵活性好,可定制能力强。 ( 2 ) 结构简单、可控性好。 ( 3 ) 系统资源消耗少。 ( 4 ) 速度快。 但m i n i g u i 并不是没有缺点,现在为止,它的缺点有: ( 1 ) 对图形设备的抽象层次太高。 ( 2 ) 图形功能尚不完善。 ( 3 ) m i n i g u i l i t e 对不同进程的不同窗口剪切未作处理。 2 3 。4xw i n d o w 开放源码的xw i n d o w 系统,可以运行在支持帧缓冲( f r a m e b u f f e r ) 的设备上。基于帧 缓冲的x 服务器x f b d e v 的资源占用相对较小,大小在7 0 0 k 左右,这使它很容易在资 源有限的嵌入式设备上运行。 xw i n d o w 的主要优点是:功能完善;并且已经在很多系统上使用,事实证明它稳 定可靠:存在大量的可直接使用的应用程序;丰富的文档说明;支持大量的开发工具箱, 如g t k + ( g i m pt o o l k i t ) 、q t 等。 但xw i n d o w 的运行却需要更快的处理器和更多的存储空闯,也是xw i n d o w 不被 嵌入式系统采纳的重要因素。由于使用了带有t c p i p 结构的自由式开放源码操作系统, 使嵌入式设备进入了一个创新应用时代,不过这些新的应用需要考虑其资源环境,这是 因为多数的嵌入式设备缺少硬件驱动和大的r a m 。xw i n d o w 是在2 0 世界8 0 年代早期 1 】 东北大学硕士学位论文 第二章g u i 系统基本概念与相关工作 由m i t 、d e c 等提出来的,是一个基于c l i e n t s e r v e r 结构的窗口系统:允许在任一台 u n i x 主机( c l i e n t s 客户端) 上运行程序,而在基于x 的终端( s e r v e r 一服务器) 上显示出来。在这个过程中,相当一部分代码用于确认主机和服务器上运行的 c l i e n t s e r v e r 程序是否正常。目前,大多数x 的客户端和服务器是在同一台机器上运行, xw i n d o w 服务器经编译后一般用于自动检测硬件。服务器中还包含有众多的画图函数, 它们的位置根据执行速度被位置在裁减层之上或之下。这些便利x w i n d o w 过于臃肿和 复杂,运行时需要至少8 m b 的内存空间。 2 4 几种重要的事件消息通信机制简介 2 4 1 基于管道的q c o p 协议 q c o p 是q t 内部的一种通信协议,这种协议用于不同的客户之间在同一地址空间 内部或者不同的进程之间的通信。目前,这种机制还只在q t 的嵌入式版本中提供。 为实现这种通信机制,q t 中包括了由q o b j e c t 类继承而来的q c o p c h a n n e 类, 该类提供了诸如s e n d ( ) 、i s r e n s t e r e d ( ) 等静态函数,它们可以在脱离对象的情况下使用。 为了在c h a n n e l 中接收通信数据,用户需要构造一个q c o p c h a n n e l 的子类并提供 r e c e

温馨提示

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

评论

0/150

提交评论