发布时间:2008-04-18 我要评论 摘要: 摘要:本文研究了基于Framebuffer的嵌入式GUI的系统实现,包括其体系结构层次的建立、驱动机制的分析、微型客户端/服务器模式的实现,以及基于Framebuffer的GAL与GDI的设计等关键内容。 关键词:嵌入式;GUI;Linux;Framebuffer 0 前言
当前流行的商业化的GUI 系统包括Palm OS、Windows CE和Symbian OS 等。些GUI 性能出众,一般都提供完整的解决方案,对Java、多媒体的支持较好,使用它们可以很方便地构建自己的嵌入式系统,缩短开发周期。但这些都商业化产品,使用它们不可避免地要付出昂贵的授权费用,没有公开源代码,用户也不能很自由地定制自己的产品。
Linux 的出现给嵌入式产品的开发带来了新的活力,它拥有很多的优良特性非常适合于嵌入式开发。目前内外基于Linux的GUI产品比较流行的包括MiniGUI、MicroWindows、QT/Embedded 等,其中
QT/Embedded 属于商业化的产品,其他属于开源软件。从性能、功能各个方面来说QT/Embedded 比较优秀,但是使用它需要
支付高昂的授权费用,一般应用在高端的PDA 和SmartPhone 等产品上。MiniGUI和MicroWindows均为自由软件,只是前者遵循LGPL条款,后者遵循MPL条款,这两个系统的技术路线也有所不同,MiniGUI的策略是首先建立在比较成熟的图形引擎之上,比如Svgalib和LibGGI,开发的重点在于窗口系统、图形接口之上,而MicroWindows目前的开发重点则在底层的图形引擎之上,窗口系统和图形接口方面的功能还比较欠缺,而且MiniGUI在1.6版本以后也不再提供免费的完整功能版本下载。
FrameBuffer是Linux控制台下的一个通用的图形接口,它拥有良好的平台无关性,可以支持绝大多数的硬件,因而得到愈来愈多厂家的支持,一些流行的图形库如QT、GTK便是基于FrameBuffer的。它的接口非常简单,通过它可以十分方便地构建一个图形系统。而对GUI的实现做一个系统深入的分析和研究也是嵌入式系统研究必不可少的一个步骤。本项目在开发嵌入式数字控制系统的过程中对现有的嵌入式GUI系统做了深入的研究,包括嵌入式GUI的体系结构层次、驱动机制,并实现了对自身量身定做的GAL和GDL,实现了满足自身需求的嵌入式GUI系统。 1嵌入式GUI需求分析
与运行在PC 机上的GUI相比,作为运行在嵌入式设备上的程序,不可避免的要受到设备环境的,其实这也是所有嵌入式编程都要遇到的问题。嵌入式设备对GUI 的主要体现在:(1) CPU速度相对来说较慢,一般不具备浮点运算功能或浮点运算功能较弱;(2)内存、外存容量小;(3)电量有限需要考虑节电因素。
同时,嵌入式平台具有多样性,不同的平台之间性能、功能部件千差万别,很难设计出一个GUI产品能够适合任何平台,因此就必需对GUI产品进行准确的定位,包括所要运行的平台、最终用户的需求等等,它是产品成功的关键,也决定了我们的设计方针和思想,比如实时和非实时产品的设计是完全不同的。这里我们设计的GUI 系统是为中低端嵌入式系统提供图形界面能力的中间件产品,它应该能满足以Linux OS 作为产品系统平台的中低端客户对图形用户界面开发的要求,并易于第三方应用程序的移植。具体来说,其运行在CPU 主频不高于400MHz(实际使用200MHz),内存容量在MB(实际使用16M)以下的中低端嵌入式系统,兼容POSIX标准的操作系统,拥有完整或经过裁减的C库。
在设计的时候要充分考虑到这些因素,在编程时也要注意一些原则:尽量让CPU少做事,尽量不进行浮点运算,尽量减少文件操作,尽量减少内存分配。
2 基于Linux的嵌入式GUI构建 2.1 嵌入式GUI的体系结构层次
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务