分享

MINIGUI学习第一季

 astrotycoon 2013-08-23



MINIGUI
学习第一季

一、嵌入式GUI的层次结构图

 

MINIGUI学习第一季

 

CPU:涉及特定体系结构的不同处理器

片内设备:主要包括定时器、中断控制寄存器、GPIO

内存:RAM主要包括SRAM DRAM,可固化的存储器主要包括Nor FLASHNand Flash

协议层:主要向用户层提供API函数,通过调用操作系统实现,通常情况下数据库也是属于该层

       当然对于不同的操作系统上图还是略有差别的,例如在linux中网络协议和文件系统经常集成在操作系统的内核中

二、嵌入式GUI的设计原则

       由于嵌入式系统的特殊性在嵌入式系统中GUI的设计一般应遵循以下原则:

1.       可移植性:体现在硬件和操作系统两个方面。在操作系统方面,由于GUI系统需要建立在含有进程通信、多任务支持机制的操作系统之上,但是不同的操作系统提供的机制是不相同的,因此为了GUI系统能在不同的操作系统上运行,GUI系统就需要一定的可移植性来支持不同的操作系统。在硬件方面,CPU的硬件体系结构、输入设备和输出设备,为了适应不同的CPU体系结构,GUI系统需要能够在不同的编译器上运行.

2.       较高的稳定性和可靠性:减少崩溃概率,当崩溃时应尽量确保其他的子系统能够正常的运行。

3.       系统开销少:嵌入式的资源(处理器的频率、FLASH的空间和RAM空间)相对较少,并且系统上还运行比GUI更加重要的程序,因此GUI系统应该尽可能的少的抢占系统的资源。

4.       较高的可配置性:由于嵌入式系统较多,因此GUI系统应该具有较好的可配置性以适应不同的操作系统。可配置性通常包括可裁剪性,界面特性的配置,皮肤和主题配置。

对于嵌入式的GUI系统关注的重点是上层的接口应用和下层的移植两个方面。

三、minigui简单介绍

       1.minigui可以运行在三种模式:进程模式,线程模式,独立模式

     Minigui运行于线程模式上时可以在不同的线程中建立多个窗口,但所有的窗口在一个进程或者地址空间中运行,这种运行模式主要用来支持大多数传统意义上的嵌入式系统。

     Minigui运行于进程模式时,MiniGUI-Processes上的每个程序都是单独的进程,每个进程也可以建立多个窗口,并且实现了多进程窗口系统。MiniGUI-Processes适合于具有完整UNIX特性的嵌入式操作系统,比如嵌入式Linux

     Minigui运行于独立模式时,可以通过独立任务的方式运行,既不需要多线程也不需要多进程的支持,这种运行模式适合功能单一的应用场合。

     一般情况下,独立模式的适应面最广,可以支持几乎所有的操作系统,线程模式的适用面次之,进程模式的适应面较小,仅适应于具有完整UNIX特性的嵌入式操作系统。

2.minigui层次结构图

MINIGUI学习第一季



 

GAL:将来自不同操作系统或者设备的图形接口进行抽象,为Minigui上层提供统一的接口。

IAL:Minigui涉及的所有输入设备等抽象出来,为上层提供一致的接口。

图形设备接口:为上层应用程序提供相应的接口。

mGi:Minigui的输入法组件。

mGUtils:是一个Minigui的通用对话框组件。

mGPlus:是基于Minigui的一个图形组件,在已经有的高级二维绘图函数基础上,提供更强的图形功能,如路径,颜色渐变,颜色组合,抗锯齿放缩等。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多