资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
几种嵌入式几种嵌入式 GUI 介绍介绍一、一、MicroWindowsCentury 软件公司维护的,较早出现的开放源代码的嵌入式嵌入式 GUI 特点:1 主要特色:提供较为完善的图形功能,支持多种外部设备输入,包括 LCD、鼠标和键盘等。2 核心是基于显示设备接口的,绝大部分使用 C 语言开发的,移植性很强。3 主要在 linux、wince 等操作系统上运行。4 对硬件资源的需求:文件存储空间:100k-600k 输入输出接口:支持 frambuffer ,支持每像素1、2、4、8、16、24、32.支持彩色和灰度显示。支持鼠标、键盘、触摸屏。CPU:支持 intel 16 位 32 位,MIPS R4000、ARM。二、二、Qt/Embedded(简称简称 QtE) QtE 是一个专门为嵌入式系统设计图形用户界面的工具包,挪威 Trolltech 公司产品。 1995 年正式发行第一个版本 Qt0.9。 Linux 桌面系统的 KDE 就是基于 Qt 库开发的,Qt 与 linux 操作系统的兼容性最好。特点:1 主要特色:支持多种平台,移植时只需重新编译代码而不需要对代码进行修改。 2 模块化,可剪裁,极其适合嵌入式系统的“小而快”的要求。3 用 C+编写,为开发者提供清晰的框架。4 For free 版本代码完全开放。www.trolltech.com三、三、uc/GUIuC/GUI 是一个通用的嵌入式应用的图形模块,它是美国 Micrium 公司开发的一种高效的、与处理器和 LCD 控制器独立的通用 GUI,可以适用各种 CPU 和 LCD,uC/GUI 完全以 ANSI-C 编写,因此它与处理器无关,在单任务和多任务操作系统都可以很好的应用、可以很方便地移植到不同的操作系统和嵌入式微处理器上,并可支持不同尺寸的图形液晶显示器。它采用层次化的设计,功能强大,移植方便,被广泛地应用于嵌入式领域,如 PDA、机顶盒以及 DVD NCD 播放机等(1)支持任何 8 位、16 位和 32 位的 CPU,只要求 CPU 具有相应的ANSI-C 编译器即可;(2)所有硬件接口定义都使用可配置的宏;(3)字符、位图可显示与 LCD 的任意点,并不限制与字节长度的整数倍数地址;(4)所有程序在长度和速度方面都进行了优化,结构清晰;(5)对于慢速的 LCD 控制器,可以使用缓冲存储器减少访问时间,提高显示速度。UC/GUI 特征UC/GUI 给任何带图形 LCD 操作的应用程序提供了一种有效,与处理器和 LCD 控制器独立的图形用户界面。它与单任务或多任务环境兼容,不管是专用操作系统(proprietary operating system)还是其他任何的商业实时操作系统(RTOS)。UC/GUI 以 C 源代码的形式移植。它可以适用于任何大小的物理和虚拟显示,支持任何的 LCD 控制器和 CPU。它的特征包括:一般特点:。任何 8/16/32 位的 CPU;只需要一个 ANSI 的 C 编译器。带控制器支持(如果有合适的驱动程序)的任何(单色,灰度级或者彩色)LCD。在小屏幕显示时可以不带 LCD 控制器。通过配置宏支持任何接口。显示大小可配置。字符和位图可以写到 LCD 的任何点上,而不必是偶数的字节地址。程序在大小和速度两方面得到优化。允许编译时跳转(Compile time switches)以获得不同的优化。对于较慢的 LCD 控制器, ,LCD 能够缓存到内存中,最小化访问次数,获得非常高的速度。清晰的结构。支持虚拟显示;虚拟显示可以比实际显示更大图形库。支持不同颜色深度的位图。位图转换器。完全无浮点(floating-point)使用。线/点快速绘制(不使用浮点运算)。圆/多边形的快速绘制。不同的绘图模式字体。移植有基本软件使用的各种不同字体:4*6, 6*8, 6*9,8*8, 8*9, 8*16, 8*17, 8*18, 24*32,还有 8,10,13,16 等几种不同像素高度的均衡字体(proportional fonts) 。更多的信息,请参考第 25 章“标准字体“。能够定义新字体并且简单链接。只有用于应用程序的字体才实际上链接到执行结果,使得 ROM 的最少化使用。字体能在 x 和 y 方向充分地缩放。字体转化器;你主机系统(比如微软的 Windows)上的任何可用字体都可以转化字符串/数值输出程序。程序能够以任何字体显示十进制,二进制和十六进制的数值。程序能够以任何字体编辑十进制,二进制和十六进制的数值窗口管理器(WM)。包括剪切在内的完全窗口管理。窗口外的客户区域无法重写覆盖。窗口可以移动和改变大小。支持回调函数(Callback routines) (可选用法)。WM 最少地使用 RAM(大约每个窗口 20 字节)用于 PC 外观的可选 widgets。可用 Widgets(窗口对象,或称为控件) 。它们一般自动运行,并且使用简单触摸屏和鼠标支持。窗口对象,比如按钮 widget,UC/GUI 提供触摸屏和鼠标支持PC 工具。模拟器和观察器。位图转化器。字体转化器四、四、MiniGUI我国为数不多的在国际比较知名的自由软件之一,早期有魏永明先生和许多志愿者开发,现在有北京飞漫公司(www.minigui.com)进行维护和商业运作。广泛应用于通讯、医疗、工控、电力、机顶盒、多媒体终端等领域。 使用 MiniGUI 成功开发产品的企业有华为、中兴通讯、大唐移动、长虹、TCL、联想、迈瑞、南瑞、炬力、D2 等。这些用户广泛分部在中国大陆、台湾、新加坡、韩国、美国、德国、意大利、印度、以色列等国家和地区。特点:特点:1 主要特色:主要特色:轻量级的图形界面, MiniGUI 代码都采用 c 语言开发,提供完备的多窗口机制和消息传递机制。2 对硬件的要求对硬件的要求内存: MiniGUI 的静态存储随配置选项的不同而不同,最少需占用 1MB 静态存储空间。MiniGUI 启动后,初始占用 1MB 动态存储空间。建议系统内存为 8MB 以上。支持操作系统:VxWorks、ThreadX、Nucleus、OSE、pSOS、uC/OS-II、eCos、linux6 6特点优势特点优势MiniGUI 为嵌入式 Linux 系统提供了完整的图形系统支持,是全球针对嵌入式 Linux 仅有的两个商用嵌入式 GUI 系统之一。MiniGUI 为嵌入式 Linux 系统提供了完整的多进程支持;可以 MiniGUI-Processes、MiniGUI-Threads 或者 MiniGUI-Standalone 三种运行模式运行。MiniGUI 的主要技术特性的主要技术特性硬件适配性硬件适配性:可运行于各种含有 MMU(内存管理单元)的 32 位处理器架构之上,如 ix386、ARM、MIPS、PowerPC 等。支持低端显示设备(比如单色 LCD)和高端显示设备(8 位色及以上显示设备)。通过 MiniGUI 的图形抽象层及图形引擎技术,还可以支持特殊的显示设备,比如 YUV 显示设备。对显示设备分辨率无最大和最小限制。副屏支持。当系统中有多个视频设备时,可将一个作为 MiniGUI 的主屏,实现完整的多窗口系统;而其它设备作为副屏,在其上通过 MiniGUI 的图形接口来实现文字渲染、图形显示等功能。可支持各种输入设备,如 PC 键盘、PC 鼠标、小键盘(Keypad)、触摸屏、遥控器等等。多种键盘布局的支持。MiniGUI 除支持常见的美式 PC 键盘布局之外,还支持法语、德语等西欧语种的键 盘布局。资源消耗资源消耗:MiniGUI 的静态存储随配置选项的不同而不同,最少需占用 1MB 静态存储空间。MiniGUI 启动后,初始占用 1MB 动态存储空间。建议系统内存为 8MB 以上。操作系统适配性操作系统适配性:支持 Linux 操作系统(非 uClinux 操作系统),可以 MiniGUI-Processes、MiniGUI-Threads 或者 MiniGUI-Standalone 三种运行模式运行。内建资源支持。可以将 MiniGUI 所使用的资源,诸如位图、图标和字体等编译到函数库中,该特性可提高 MiniGUI 的初始化速度,并且非常适合无文件系统支持的实时嵌入式操作系统。针对嵌入式系统的特殊支持,包括一般性的 I/O 流操作,字节序相关函数等。窗口子系统特性窗口子系统特性:完备的多窗口机制和消息传递机制。使用 MiniGUI-Threads 运行模式时,可在不同线程中创建主窗口,并支持线程间的消息传递;使用 MiniGUI-Processes 运行模式时,支持完整的多进程窗口系统。对话框和消息框支持。提供常用的控件类,包括静态文本框、按钮、单行和多行编辑框、列表框、组合框、菜单按钮、进度条、滑块、属性页、工具栏、树型控件、月历控件、旋钮控件、酷工具栏、网格控件、动画控件等。其它 GUI 元素,包括菜单、加速键、插入符、定时器等。图形子系统特性图形子系统特性:提供有增强 GDI 函数,包括光栅操作、复杂区域处理、椭圆、圆弧、多边形以及区域填充等函数。在提供有兼容于 C99 规范的数学库平台上,还提供有高级二维绘图函数,可设置线宽、线型以及填充模式等。通过 MiniGUI 的图形抽象层及图形引擎技术,也可以让上述高级 GDI 接口在低端显示屏上实现。各种流行图像文件的支持,包括 Windows BMP、GIF、JPEG、PNG 等(JPEG 及 PNG 的支持通过 libjpeg 及 libpng 函数库提供)。Windows 的资源文件支持,如位图、图标、光标等。多字符集和多字体支持,目前支持 ISO8859-1ISO8859-15、GB2312、GBK、GB18030、BIG5、EUC-JP、Shift-JIS、EUC-KR、UNICODE(UTF-8、UTF-16 编码)等字符集,支持等宽点阵字体、变宽点阵字体、Qt/Embedded 使用的嵌入式字体 QPF、TrueType 矢量字体(对 TrueType 的支持通过 freetype 1.3 函数库提供)。输入法支持,用于提供各种可能的输入形式;内建有适合 PC 平台的汉字(GB2312)输入法支持,包括内码、全拼、智能拼音、五笔及自然码等。MiniGUI 的技术优势的技术优势和其它针对嵌入式产品的图形系统相比,MiniGUI 在对系统的需求上具有如下几大优势:可伸缩性强可伸缩性强。MiniGUI 丰富的功能和可配置特性,使得它既可运行于 CPU 主频只有 60MHz 的低端产品中,亦可运行于高端嵌入式设备中,并使用 MiniGUI 的高级控件风格及皮肤界面等技术,创建华丽的用户界面。 MiniGUI 的跨操作系统特性,使得 MiniGUI 可运行在最简单的嵌入式操作系统之上,如 uC/OS-II,也可以运行在具有现代操作系统特性的嵌入式操作系统之上,如 Linux,而且 MiniGUI 为嵌入式 Linux 系统提供了完整的多窗口图形环境。这些特性,使得 MiniGUI 具有非常强的可伸缩性。可伸缩性是 MiniGUI 从设计之初就考虑且不断完善而来的。这个特性使得 MiniGUI 可应用于简单的行业终端,也可应用于复杂的消费类电子产品。轻型、占用资源少轻型、占用资源少。MiniGUI 是一个定位于轻量级的嵌入式图形库,对系统资源的需求完全考虑到了嵌入式设备的硬件情况,如 MiniGUI 库所占的空间最小可以裁剪到 500K 左右,对目前的嵌入式设备来说,满足这一条件是绰绰有余的。此外,测试结果表明,MiniGUI 能够在 CPU 主频为 30 MHz,仅有 4M RAM 的系统上正常运行(使用 uClinux 操作系统),这是其它针对嵌入式产品的图形系统所无法达到的。高性能、高可靠性。高性能、高可靠性。MiniGUI 良好的体系结构及优化的图形接口,可确保最快的图形绘制速度。在设计之初,就充分考虑到了实时嵌入式系统的特点
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号