




已阅读5页,还剩65页未读, 继续免费阅读
(计算机应用技术专业论文)基于blackfin处理器嵌入式gui的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文摘要 摘要 二十世纪七十年代,i n t e l 公司推出了第一颗微处理器芯片,嵌入式系统的概 念也随之产生。随着芯片技术的飞速发展,各大公司都逐步推出了各具特色的处 理器来抢占嵌入式芯片市场,a d i 和i n t e l 联合开发的专为多媒体应用而设计的 b l a c k f i n 系列处理器在近两年得到了越来越多的嵌入式工程师的青睐。目前,针 对b l a c k f i n 处理器的嵌入式系统平台处于起步阶段,许多关键技术还有待进一步 研究。 嵌入式g u i 是嵌入式系统平台的一个重要组成部分。随着计算机科学技术的 发展,嵌入式设备的应用,尤其是多媒体应用越来越广泛,嵌入式环境对g u i 的需求也越来越迫切,多媒体应用对g u i 的性能要求也越来越高。嵌入式g u i 系统的特点是体积小、占用资源少、可配置、高性能等等。但是,现有的g u i 系统为了考虑可配置性和移植性,通常会造成一定的性能损失。 本文首先基于b l a c k f i n 处理器平台,构建了一个u c l i n u x 嵌入式系统。该嵌 入式系统使用8 寸高分辨率数字液晶屏和触摸屏,对触摸屏的防抖动技术做了一 定研究。在u c l i n u x 系统的基础上,本文针对b l a c k f i n 处理器的强大的多媒体性 能,研究了g u i 的相关优化技术,包括设备驱动程序优化、二维d m a 优化、片 上一级s r a m 优化、汇编优化等技术。并对g u i 的硬件抽象层、图形引擎、窗 体绘制等方面进行了设计,完成了一个基于u c l i n u x 的嵌入式g u i 系统。使得该 g u i 系统具有体积小、高性能等特点,并适用于需要高分辨率显示的一类电子产 品。最后,本文将该嵌入式g u i 与m i c r o w i n d o w s 进行了比较,展示了相关的性 日- - 匕i - 测。, 试结果,并给出了一个基于本g u i 开发的数码相框产品。本嵌入式g u i 的 实现为在b l a c k f i n 系列处理器下高效的开发嵌入式应用特别是高性能嵌入式多媒 体产品奠定了很好的基础。 关键词:图形用户界面,嵌入式系统,b l a c k f i n 处理器 浙江大学硕士学位论文 a b s t r a c t t h ei n t e lc o r p o r a t i o np u b l i s h e dt h ef i r s tm i c r o p r o c e s s o ri nt h e19 7 0 s w i t hf a s t d e v e l o p m e n to ft h ec h i pt e c h n i q u e ,a l m o s ta l lr e l a t e dc o m p a n i e sp u b l i s h e dm o r ea n d m o r em i c r o - p r o c e s s o r sw i t ht h e i ro w nf e a t u r e st os e i z et h em a r k e t m a n ye n g i n e e r s b e g i nt od e s i g na n di m p l e m e n ts o f t w a r ea p p l i c a t i o n sb a s e do nb l a c k f i np r o c e s s o ri n t h e s ey e a r s e m b e d d e ds y s t e mb a s e do nb l a c k f i np r o c e s s o ri ss t i l li nt h ei n i t i a ls t a g e t h ee m b e d d e dg u ii sa ni m p o r t a n tp a r to ft h ee m b e d d e ds y s t e mp l a t f o r m w i t h t h ed e v e l o p m e n to ft h ec o m p u t e rs c i e n c ea n dt h ea p p l i c a t i o no ft h ee m b e d d e dd e v i c e , e s p e c i a l l yt h ea b r o a da p p l i c a t i o no fm u l t i m e d i a ,t h er e q u i r e m e n to fe m b e d d e dg u ii n t h ee m b e d d e de n v i r o n m e n tb e c o m e sm o r ea n dm o r ei m m i n e n c e t h er e q u i r e m e n tb y m u l t i m e d i aa p p l i c a t i o nb e c o m e sm o r ea n dm o r er i g o r o u s t h ep e c u l i a r i t i e so ft h e e m b e d d e dg u is y s t e ma r el i g h t n e s s ,l e s sr e s o u r c er e q u i r e m e n t ,h i g hp e r f o r m a n c ee t c a tf i r s t ,t h i sp a p e rb u i l d sa nu c l i n u xs y s t e m ,b a s e do nt h eb l a c k f i np r o c e s s o r t h e e m b e d d e ds y s t e mh a s8i n c hl c d d i s p l a y e ra n dt o u c h s c r e e n t h ep a p e rd i s c u s s e st h e t o u c h s c r e e nd e j i t t e rt e c h n i q u e b a s e do nu c l i n u x ,t h ep a p e rt h e nc o n s i d e r st h e h i g h - p o w e r e dm u l t i m e d i ao f t h eb l a c k f i np r o c e s s o ra n dd i s c u s s e st h eg u ir e l a t e d o p t i m i z a t i o nt e c h n i q u e ,i n c l u d i n gd e v i c ed r i v e ro p t i m i z a t i o n ,2 dd m ao p t i m i z a t i o n , o p t i m i z a t i o nu s i n g “o nc h i pl e v e l1s r a m ”a n do p t i m i z a t i o nu s i n ga s s e m b l yl a n g u a g e t h ep a p e rd e s c r i b e st h eo p t i m i z a t i o no ft h eh a r d w a r ea b s t r a c tl a y e r , t h eg r a p h i ce n g i n e a n dt h ew i n d o w sp a i n t i n gm o d u l eo ft h eg u ib a s e do nt h eu c l i n u xs y s t e m t h eg u i h a sl o ws i z ea n dh i g hp e r f o r m a n c ea n di ss u i t a b l ef o re l e c t r o n i cp r o d u c tr e q u i r i n gl a r g e l c d a tl a s t ,t h ep a p e rc o m p a r e st h eg u lw i t hm i c r o w i n d o w s ;b r i n go u tt h e p e r f o r m a n c et e s tr e s u l t ,a n dad i g i t a lp h o t of r a m ep r o d u c ta p p l i c a t i o nb a s e do nt h e g u i t h ei m p l e m e n t a t i o no ft h i se m b e d d e dg u i s y s t e mh a sm o r em e a n i n gw i t ht h e a p p l i c a t i o nd e v e l o p i n ge s p e c i a l l yt h eh i g hp e r f o r m a n c em u l t i m e d i aa p p l i c a t i o n d e v e l o p i n go nb l a c k f i np r o c e s s o r k e y w o r d s :g u i ,e m b e d d e ds y s t e m ,b l a c k f i np r o c e s s o r 浙江大学硕上学位论文图目录 图目录 图1 1 论文组织结构2 图2 1b l a c k f i n 处理器的各个系列4 图2 2b l a c k f i n 嵌入式处理器架构5 图2 3 一维d m a 与二维d m a 一6 图2 4 常见g u i 框架9 图2 5m i n i g u i 和嵌入式操作系统的关系1 1 图3 1 硬件系统设计框架15 图3 2p p i 总线框架图16 图3 3p p i 接口设计1 7 图3 4 液晶屏时钟同步信号接口设计1 7 图3 5 单个s p i 从设备连接图18 图3 6 多个s p i 从设备连接图18 图3 7 触摸屏s p i 接口设计19 图3 8 触摸屏中断接口设计19 图3 9 液晶屏连接原理2 0 图3 1 0a d 7 8 4 3 芯片连接图2 l 图3 1 1b o o tl o a d e r 启动过程一2 2 图3 1 2 液晶屏驱动程序框架2 4 图3 1 3f r a m e b u f f e r 设备显存2 5 图3 1 4 触摸屏驱动流程2 7 图3 1 5 触摸屏防抖动处理流程2 8 图4 1g u i 系统结构3 1 图4 2g u i 图形引擎结构3 2 图4 3 一次传递x 、y 坐标3 3 图4 4 二维内存d m a 绘制矩形区域3 4 图4 5 用d m a 优化扫描线算法3 6 图4 6 单周期多数据流指令3 7 图4 7 像素绘制流程4 0 图4 8 窗体树形结构4 2 图4 9 窗体a 移动前4 4 图4 10 窗体a 移动后4 5 图4 “用d m a 实现矩阵旋转4 7 图5 1g u i 直线绘制时间比较5 1 图5 2g u i 填充三角形平均时间比较5 2 图5 3g u i 窗体绘制时间比较5 3 1 1 1 浙江大学硕士学位论文 图目录 图5 4 数字相框程序流程5 4 图5 5 数字相框程序主界面5 5 图5 6 数字相框程序图像浏览界面5 6 i v 浙江大学硕士学位论文表目录 表目录 表2 1 嵌入式g u i 比较13 表3 1s p i 引脚说明1 7 v 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得逝姿叁堂或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 靴敝储签名菇辑签字魄耖2 年石月f 日 学位论文版权使用授权书 本学位论文作者完全了解逝鎏盘堂有权保留并向国家有关部门或机构 送交本论文的复印件和磁盘,允许论文被查阅和借阅。本人授权澎婆盘堂可 以将学位论文的全部或部分内容编入有关数据库进行检索和传播,可以采用影 印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 凇一躲磊恽 签字日期:纱寥年衫月争e t 导师签名: 签字目期:年月 日 浙江大学硕士学位论文第1 章绪论 第1 章绪论 1 1 引言 2 0 世纪9 0 年代以来,以计算机、通信和软件技术为核心的微电子信息技术 取得了迅猛发展。以嵌入式系统为技术核心的电子产品已成为数字时代的主流产 品。近年来,嵌人式系统取得了快速的发展,并被广泛应用于各种消费电子产品 以及工程和科学仪器、工业控制、网络设备、医用仪器数字图像处理等领域。 嵌入式系统是根据实际应用要求,将功能软件集成在计算机硬件系统中,从 而实现软件与硬件一体化的计算机系统。相对于通用计算机,嵌入式系统的低成 本、较高性能、低功耗、体积小、多媒体功能强的特性,使嵌入式产品能够迅速 得到广泛应用。 1 2 研究背景 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适 用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 早期的嵌入式系统中,没有操作系统,主要是因为功能比较单一,所以简单的程 序就可以完成工作。同时由于硬件性能的限制,操作系统无法在早期的嵌入式设 备上运行。随着嵌入式硬件的迅速发展,以及应用领域对嵌入式产品的功能和要 求的提高,嵌入式操作系统应运而生。“嵌入性”、“专用性”与“计算机系统 是嵌入式系统的三个基本要素【l j 。 嵌入式处理器是嵌入式系统的硬件核心。目前比较流行的嵌入式处理器有: 3 8 6 e x 、s c - 4 0 0 、p o w e rp c 、6 8 0 0 0 、m i p s 、a r m 等。a d i 的b l a c k f i n 处理器是 一种新的1 6 3 2 位嵌入式处理器,它是专为满足现在的嵌入式音、视频处理以及 交互式应用程序的高性能计算和低功耗需求而设计的。它支持3 2 位r i s c 指令集, 采用1 0 级流水线,集成了两个1 6 位乘法累加器,内核主频最高可以达到6 0 0 m h z 。 目前正在开发的嵌入式系统中,有许多项目选择l i n u x 作为嵌入式操作系统, l i n u x 现已成为嵌入式操作的理想选择。与p c 上的操作系统不同,由于嵌入式系 浙江大学硕士学位论文第1 章绪论 统本身硬件的条件限制,常用的p c 机的g u i 系统不适合在其上运行,因此产生 了许多基于嵌入式系统尤其是嵌入式l i n u x 的g u l l 2 。 1 3 研究的意义与目的 目前许多用户、操作系统供应商和开发工具公司都开始使用b l a c k f i n 处理器。 现在支持b l a c k f i n 处理器的操作系统主要有u c l i n u x 和u c o s 等,基于这些操作 系统的嵌入式g u i 还不多,主要是m i c r o w i n d o w s 等移植性较好的g u i ,这些g u i 适用于分辨率较小的显示设备,还不能很好的发挥b l a c k f i n 处理器的性能。 随着液晶显示技术在各种嵌入式系统中的普及,人们对终端显示设备提出了 更高显示分辨率需求。而针对高分辨率和针对b l a c k f i n 处理器设计的嵌入式g u i 还不多,因此有必要设计一个基于b l a c k f i n 处理器的功能强、速度快,能满足高 分辨率显示性能要求的专用g u i 。 1 4 论文组织 本文的组织结构如图1 1 所示。 图1 1 论文组织结构 第一章首先介绍了嵌入式图形用户界面的研究背景和研究现状。 2 浙江大学硕士学位论文第l 章绪论 第二章介绍了b l a c k f m 嵌入式处理器,以及一些嵌入式g u i ,同时比较了现 有嵌入式g u i 的优缺点,并分析了未来嵌入式g u i 的发展趋势。 第三章描述了一个基于b l a c k f i n 处理器的嵌入式系统的构建。提出了一套基 于u c l i n u x 操作系统的嵌入式系统平台。 第四章详细描述了基于b l a c k f i n 处理器的相关优化技术,并基于u c l i n u x 系 统构建了一个嵌入式g u i ,包括g u i 设备抽象层、g u i 图形引擎设计等。 第五章给出了该g u i 与m i c r o w i n d o w s 在相同硬件平台上的性能测试结果, 并给出了一个基于本嵌入式g u i 开发的数字相框产品应用。 第六章,文章总结了开发嵌入式g u i 系统的经验,并提出了该g u i 进一步 研究的一些新思路。 3 浙江大学硕l j 学位论义第2 章嵌入八g u ! 系统综述 第2 章嵌入式g u i 系统综述 2 1b l a c k f i n 处理器介绍 嵌入式g u i 是嵌入式系统的一个重要组成部分。而嵌入式处理器是嵌入式系 统的硬件核心,因此先对b l a c k f i n 处理器做简要介绍。 b l a c k f i n 处理器是a d i 和i n t e l 联合丌发的专为多媒体方面应用而设计的体现 高性能体系结构的嵌入式处理器。b l a c k f i n 系列处理器有独特的指令集设计和丰 富的硬件支持,可以高效的完成多媒体处理任务。例如,b l a c k f i n 处理器有指令 i 叮实现求四个数的平均值以及对误差绝对值求和。b l a c k f i n 处理器在一个j 薛片上 融合了r i s c 的控制处理、视频处理和d s p 信号处理功能,具有高度的_ = :行处理 和强人的d m a 能力,并具有专用视频指令和硬件支持以及动态电源管理功能。 b l a c k f i n 处理器将打造出新一代的数字收音机与移动电视的创新产品【3 | 。 b l a c k f i n 处理器各个系列产品如图2 1 所示。 产 口 口口 性 能 图2 1b l a c k f i n 处理器的各个系列 b l a c k f i n 系列处理器的主要特点如下: 4 浙江大学硕士学位论文第2 章嵌入式g u i 系统综述 d s p 特性:4 0 0 7 5 0 m h z 主频;8 、1 6 、3 2 位整数计算器;高速访问外设 及d m a 控制器,带有p p i 高速接口、s p o r t s 、s p i 、s d r a m 、u a r t 、 红外线、以及以太网、c a n 、t w i 、p w m 等接口。 媒体处理特性:专为高效视频、图像、以及音频处理设计的多媒体指令。 低功耗设计:主频2 0 0 m h z 时,功耗5 2 m w ,主频3 0 0 m h z 时,功耗9 0 r n w , 主频6 0 0 m h z 时,功耗2 8 0 m w ;可通过软件控制片上的内核电压调节器 以及时钟p l l 。 2 1 1b l a c k f i n 处理器架构 b l a c k f i n 架构针对控制与数值计算进行了优化,也对汇编、c c h 编程以及混 合编程进行了优化。它带有两个1 6 位乘法器和两个4 0 位累加器。两个4 0 位算 术逻辑单元( a l u ) 可以完成常见的1 6 位或3 2 为算术、逻辑运算。b l a c k f i n 有 4 个8 位视频a l u ,可以完成字节方式的图像和视频计算,包括字节排列、打包、 1 6 位和8 位加法、求平均值、累加等运算。 b l a c k f i n 处理器的系统架构如图2 2 所示。 图2 2b l a c k f i n 嵌入式处理器架构 b l a c k f i n 处理器有至少4 8 k 片上s r a m ,可作为高速缓存使用,还有4 k 片 5 浙江大学硕一 二学位论文第2 章嵌入式g u i 系统综述 上s c r a t c hp a d ,作为堆栈使用,配合优化的内存申请算法,可在一定程度上提高 程序运行效率【4 1 。另外,b l a c k f i n 处理器还集成了许多片上外设,包括硬件u a r t 、 s p i 接口、p p i 接口、同步串口、看门狗电路、16 个g p i o 接口等5 1 。b f 5 3 1 处理 器有1 7 6 个引脚,其中6 0 个引脚用于接地和连接电源。还有1 9 位外接地址总线, 1 6 位数据总线。剩余的8 1 个引脚则用于连接各种外围硬件设备f 6 1 。 2 1 2 二维d m a b l a c k f i n 系列处理器提供了强大的二维d m a 功能。一维d m a 只能对内存区 域做线性访问,而二维d m a 能够将一块线性内存看作二维空间,从而访问其中 个矩形区域,如图2 3 所示。 abcd e 黧鬃熏 黧麟孽蘸 翟鬣 op q rs下 abcd e 震蠹 h i 滋黧 l m 鬻黼 p q rst 图2 3 一维d m a 与二维d m a b l a c k f i n 处理器支持最大6 4 k 行x 6 4 k 列元素的二维d m a ,同时支持最人士3 2 k 的xm o d i f y 和ym o d i f y 值。xm o d i f y 和ym o d i f y 值是每进行一次行 或列数据传输后,地址的偏移量。如果每次传输1 字节,且xm o d i f y = i ,那 么可以实现连续传输。如果每次传输l 字节,且xm o d i f y = 2 ,那么可以实现 每隔2 个字节传输1 个字节。ym o d i f y 是每进行一次列数据传输后的地址偏移 量,而且ym o d i f y 允许是负数,这样就能实现交叉数据流。xc o u n t 和 yc o u n t 值指明了行列大小,其中xc o u n t 必须大于2 。起始地址和m o d i f y 值足整型数据,必须和d m a 传输字大小对齐。 6 浙江大学硕士学位论文第2 章嵌入式g u i 系统综述 b l a c k f i n 处理器有一个1 2 通道d m a 控制器,同时还有两个双通道内存d m a 控制器( 即两个源通道、两个目标通道) ,允许在外设与内存、内存与内存之间 进行高速数据传输,可支持8 位、1 6 位、3 2 位传输模式。 如果d m a 的源和目标在不同的内存空间,即一个是c p u 内部存储器,一个 是外部存储器,那么c p u 内部和外部直接的数据传输是同时连续进行的,1 0 0 的使用了内存接口总线。这种d m a 传输的性能受到“内核与总线时钟频率比” 的影像。如果比率低于2 5 比1 ,c p u 同步和流水线延时会降低总线使用效率, 不能完全使用总线。例如时钟频率比是2 比1 时,d m a 速率大约是总线频率的 2 3 。 2 2 嵌入式g u i 介绍 嵌入式g u i 是嵌入式操作系统的一个重要组成部分。所以,首先对嵌入式操 作系统做一个简单的介绍。 嵌入式操作系统是在嵌入式设备上,由引导装载程序( b o o tl o a d e r ) 加载的 用于管理所有其它应用程序的软件。嵌入式操作系统通常包括系统内核、必要的 设备驱动程序、文件系统等等。嵌入式l i n u x 是从l i n u x 发展出来的一类嵌入式 操作系统。常见的嵌入式l i n u x 操作系统有u c l i n u x 、美国新墨西哥理工学院开发 的r t l i n u x 、m o n t a v i s t as o f t w a r e 公司的m o n t a v i s t al i n u x 、l y n u x w o r k s 公司的 l y n x o s 等等。嵌入式l i n u x 现在已被广泛的应用于各种嵌入式系统中 7 1 。 2 2 1 嵌入式g 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 的简称,即图形用户接口。早期的计算机用户 接口没有图形,而是基于命令行的字符界面,例如d o s 操作系统。这种方式需 要用户记住一系列字符命令,并且只能用键盘输入命令,操作不方便。现在的操 作系统大部分都提供图形界面,应用程序使用这些g u i 元素来构建自己的用户界 面。g u i 通常会借用现实生活中的一些概念,例如桌面、窗口、文件夹等等。g u i 的元素通常包括窗口、下拉菜单、按钮、滚动条、图标、向导( w i z a r d ) 、鼠标等 等。 7 浙江大学硕士学位论文第2 章嵌入式g u i 系统综述 嵌入式g u i 就是是在嵌入式系统中使用的g u i 。例如p d a 、智能手机、车 载导航仪引、数字相框等产品中都有嵌入式g u i 。 2 2 2 嵌入式g u i 特点 运行在嵌入式系统环境中的g u i ,通常具有以下特点: 体积小:受到系统环境的限制,大部分的嵌入式g u i 体积都比较d x 9 。 例如:m i c r o w i n d o w s 的应用程序平均大小在3 0 k b 到6 0 k b ,m i i l i g u l 支持库在5 0 0 k b 到9 0 0 k b 左右。 消耗系统资源少:由于嵌入式系统本身的硬件限制,嵌入式g u i 不允许 占用太多系统资源。例如:m i c r o w i n d o w s 服务端程序占用的资源大约在 i o o k b 到1 5 0 k b 。m i n i g u i 使用的静态内存大约是2 m b 到4 m b 。 可移植性好:由于各种嵌入式系统的硬件差异较大,不像p c 机一样互 相兼容,因此嵌入式g u i 需要在各种嵌入式操作系统上运行【1 0 】。这就要 求嵌入式g u i 具有较好的移植性。例如,n a n o x ( m i c r o w i n d o w s ) 可以 在l i n u x u c l i n u x 、m s d o s 等操作系统上运行。m i n i g u i 可以支持 l i n u x u c l i n u x ,v x w o r k s ,e c o s ,u c o s i i ,p s o s ,t h r e a d x ,n u c l e u s , o s e 甚至w i n 3 2 操作系统。 2 2 3g u i 的发展 斯坦福研究中心的d o u g l a se n g e l b a r t 带领的研究人员开发了最早的g u i 系统。 他们为在线系统( o n l i n es y s t e m s ) 开发了一套可以用鼠标操作基于文本的超链 接的系统。后来,施乐帕克研究中心( x e r o xp ! a r c ) 的研究人员延伸扩展了超链 接的概念,让图形也可以作为超链接,并开发了一套以g u i 作为主要用户接口的 施乐a l t o 计算机。现代的通用g u i 基本都是从这个g u i 继承下来的。 现代的g u i 通常画面品质更趋细腻精致,操作方式更趋个性化,娱乐性更强, 操作方式更多样化,视觉体验更好。 8 浙江大学硕士学位论文第2 章嵌入式g u i 系统综述 2 2 4 嵌入式g u i 框架 常见的嵌入式g u i 框架如图2 4 所示。 图2 4 常见g u i 框架 常见的g u i 包括三层结构:设备驱动,设备无关图形引擎,上层a p i 1 1 】。为 了满足移植性的要求,嵌入式g u i 通常会将底层操作系统抽象出来,成为一个可 以方便移植的层次,允许改变底层接口来适应实际的应用。上层应用程序则无需 关心底层的硬件平台输出和输入设备。 2 3 现有嵌入式g u i 及比较 目前的嵌入式g u i 产品主要有o p e n g u i 、m i c r o w i n d o w s 、q t e m b e d d e d 、 m i n i g u i l l 2 1 等等,下面逐一作介绍。 2 3 1o p e n g u i o p e n g u i 基于一个汇编实现的x 8 6 图形内核,提供了一个高层的c c * 图形 接口。o p e n g u i 提供了2 维绘图原语,消息驱动的a p i 、b m p 文件格式支持。 o p e n g u l 支持鼠标和键盘的事件。在l i n u x 上基于f r a m e b u f f e r 或者s v g a l i b 4 实现绘图。颜色模型方面,o p e n g u l 支持8 、1 6 、3 2 位模型。 o p e n g u l 分为三层:最低层是由汇编语言编写的快速图形引擎;中间层提供 了图形绘制a p i ,包括线条、矩形和圆弧等;第三层用c 抖编写,提供了完整的 g u i 对象库。 9 浙江大学硕士学位论文第2 章嵌入式g u i 系统综述 由于其内核使用汇编实现并利用m m x 指令进行了优化,o p e n g u i 运行速度 非常快,支持3 2 位处理器,能够在m s - d o s ,q s x 5 和l i n u x 下运行。o p e n g u i 非常稳定,但可移植性较差。 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 是一个开源项目,其目标是在嵌入式设备平台上实现现代窗口 环境的图形特性。m i c r o w i n d o w s 现在的官方名称是n a n o - x 。由于m i c r o w i n d o w s 与微软公司的w i n d o w s 商标有冲突,于是改名为n a n o x 。但很多开发人员仍然 习惯将其称为m i c r o w i n d o w s ,本文也按照习惯,称其为m i c r o w i n d o w s 。 m i c r o w i n d o w s 允许应用程序在l i n u x 桌面环境以及目标设备上测试运行。它 是一个典型的基于s e r v e r c l i e n t 体系结构的g u i 系统。m i c r o w i n d o w s 使用了分层 结构的设计方法【1 3 】,允许改变不同的层次来适应实际应用。最底层是面向图形显 示和键盘、鼠标以及触摸屏等输入设备的驱动程序。中间层实现对底层硬件接口 的抽象化,并进行窗口管理。最上层提供了m i c r o w i n d o w sa p i 和n a n o - xa p i 。 在u c l i n u x 操作系统中使用m i c r o w i n d o w s 可以有如下两种方法【1 4 】: 把m i c r o w i n d o w s 单独编译生成库文件以及所需应用程序,放在根文件系 统中。 直接编译到u c l i n u x 内核中,作为u c l i n u x 系统的一部分。 m i c r o w i n d o w s 系统提供了相对完善的图形功能和一些高级的特性,如a l p h a 混合、三维支持和字体支持等【1 5 1 。m i c r o w i n d o w s 系统为了提高运行速度,改进了 基于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 图形引擎中存在许多低效算法。 3 2 0 0 3 年后,该项目的发展开始陷于停滞状态。 l o 浙江大学硕士学位论文 第2 章嵌入式g u i 系统综述 2 3 3m i n i g u l 由北京飞漫软件技术有限公司开发的m i n i g u i ,是面向实时嵌入式系统的轻 量级图形用户界面支持系统。m i l l i g u i 的开发起始于1 9 9 8 年底,到现在已历经 近十年的时间。最初,m i n i g u l 仅仅为了能够在l i n u x 上显示中文而开发,但目 前,m i n i g u i 已发展为一个跨操作系统的嵌入式图形支持系统。 m i n i g u l 被定义为“针对嵌入式设备的、跨操作系统的图形界面支持系统”, 属于一种“嵌入式图形中间件”软件产品。 m i n i g u i 将底层操作系统及硬件平台差别隐藏了起来,并对上层应用程序提 供了一致的功能特性,如:支持跨操作系统、支持多运行模式、支持内建资源、 完备的多窗口机制和消息传递机制、提供常用的控件类、支持对话框和消息框、 支持界面皮肤、提供增强g d i 函数、w i n d o w s 的资源文件支持、各种流行图像文 件的支持、多字符集和多字体支持、输入法支持、支持副屏等等【1 6 】。另外,m i n i g u i 下丰富的控件资源也是m i n i g u i 的特点之一,它提供了窗口皮肤、工具条等桌面 g u i 中的高级控件支持。 m i n i g u l 的典型应用框架如图2 5 所示: 图2 5m i n i g u l 和嵌入式操作系统的关系 m i n i g u l 分为最底层的g a l 层和i a l 层,向上为基于标准p o s i x 接口中 浙江大学硕士学位论文第2 章嵌入式g u i 系统综述 p t h r e a d 库的m 硒g u i t h r e a d s 架构和基于s e r v e r c l i e n t 的m i i l i g u i p r o c e s s e s 架构, 以及m i n i g u i s t a n d a l o n e 架构【1 7 1 。m i n i g u i 有三种运行模式: m i n i l g u i - t h r e a d s 。运行在m i n i g u i t h r e a d s 上的程序可以在不同的线程 中建立多个窗口。在这种模式下,进程中某个线程的意外错误可能导致 整个进程的崩溃,该架构应用于系统功能较为单一的场合。 m i n i g u i - p r o c e s s e s 。和m i n i g u i 1 1 玳a d s 相反,m i n i g u i p r o c e s s e s 上的 每个程序是单独的进程,每个进程也可以建立多个窗口,并且实现了多 进程窗口系统。采用多进程运行方式设计的c l i e n t s e r v e r 架构能够较好 的解决各个进程之间的窗口管理、z 序剪切等问题。 m i n i g u i s t a n d a l o n e 。在这种运行模式下,m i n i g u i 可以以独立的任务方 式运行,既不需要多线程也不需要多进程的支持,这种运行模式适合功 能单一的应用场合。 一般而言,m i n i g u i s t a n d a l o n e 模式的适应面最广,可以支持几乎所有的操 作系统。m i n j g u i t h r e a d s 模式的适用面次之,可运行在支持多任务的实时嵌入 式操作系统,或者具备完整u n i x 特性的普通操作系统;m i n i g u i p r o c e s s e s 模式 的适用面较小,它仅适合于具备完整u n i x 特性的嵌入式操作系统,比如l i n u x 和v x w o r k s6 。 2 3 4q 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 的xw 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 同样是 c l i e n t s e r v e r 结构。 q t 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 作为底层图形接口【1 扪。同时,将外部输入设备抽象为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 + + 封装。丰富的控件资源和较好的可移植性是 1 2 浙江大学硕士学位论文 第2 章嵌入式g u i 系统综述 q t e m b e d d e d 最为优秀的一方面。与前两种g u i 系统不同的是,q t 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 的缺点也很明显: 1 底层代码比较混乱,各种补丁较多。 2 q t e m b e d d e d 的结构过于复杂臃肿,很难进行底层扩充、定制和移植。 2 3 5 嵌入式g u i 比较 以上三种嵌入式g u i 的比较如表2 1 所示。 表2 1 嵌入式g u i 比较 隧 缓缀缀缀缫黪缓鬻缵麟缀鬻翳缓缓黝缀缫瓣 壤鬟戮黼戮鞠麟瀚戮戮罐穗糍溺缓燃麓施瞩糕缓豹羧缓缓戮渤笏缓溺燃 厂商开源 飞漫( 中国) t r o l l t e c h ( 挪威) 开发语言0 7 叶 cc h 1 0 m i p s 以上,8 m b1 0 m i p s 以上,8 m b2 0 0 m i p s 以上,1 6 m b 系统配置 f l a s h ,1 6 m br a mf l a s h 。1 6 m br a mf l a s h ,3 2 m br a m l i n u x u c l i n u x ,e c o s , 支持系统只支持x 8 6 硬件平台 l i n u x ,w m d o w s u c o s - i i ,v x w o r k s 库文件大小 3 0 0 l 3 0 0 l 6 0 0 l ( b 移植性只支持x 8 6 平台 很好较好 可以看出,o p e n g u l 只支持x 8 6 平台,移植性较差。m i n i g u l 由于主要使用 c 语言开发,其移植性能很好。q t e m b e d d e d 是较成熟的嵌入式g u i ,其移植性 介于o p e n g u i 和m i n i g u i 之间。 2 4 嵌入式g u i 发展趋势 随着计算机技术、微电子技术和网络技术等的不断发展,人类社会正逐步进 入后p c 时代【1 9 】。多媒体技术正在不断应用到嵌入式g u i 中,并正在不断发展中。 音视频技术、以及虚拟现实技术也将会越来越多的应用到嵌入式g u i 中【2 0 1 。 浙江大学硕士学位论文第2 章嵌入式g u i 系统综述 嵌入式g u i 的发展,其支持的硬件接口将会越来越多,功能越来越丰富,软 件性能和移植性将得到更好的平衡。 2 5 本章小结 本章首先对b l a c k f i n 嵌入式处理器进行了概要的介绍,了解了b l a c k f i n 处理 器的“高度的并行处理和强大的d m a 能力”,特别介绍了b l a c k f i n 处理器的二维 d m a 功能。 接着文章对嵌入式g u i 进行了描述。简要介绍了嵌入式g u i 的基本概念、 发展过程以及基本特点。阐述了嵌入式g u i 在嵌入式系统开发中的重要地位和作 用,并对现有的嵌入式g u i 产品,包括o p e n g u i 、m i c r o w i n d o w s 、m i n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际贸易大客户货物进出口代理合同
- 交通运输机械伤害事故调查报告及责任认定合同
- 2025公务员社区面试题及答案
- 校验码标准化研究-洞察及研究
- 音乐专业加试题库及答案
- 戏曲专业考博试题及答案
- 文书专业面试题目及答案
- 胆囊结石患者的护理
- 春的教学课件
- 员工团队精神培训
- 电梯安全总监培训记录课件
- 2025四川省水电投资经营集团有限公司所属电力公司员工招聘6人备考模拟试题及答案解析
- 房地产中介居间服务合同5篇
- 童话中的英雄勇敢的小矮人作文10篇范文
- 人员外出安全培训内容课件
- 小学美术剪纸社团教学活动计划
- 2025年法官入额遴选政治理论真题及答案
- 护理系毕业论文2000
- 空调科安全培训课件
- 2025征兵考试题库与答案
- 2025-2026学年浙教版小学劳动技术一年级上册教学计划及进度表
评论
0/150
提交评论