位置:51电子网 » 技术资料 » 其它综合

MiniGUI:跨操作系统的嵌入式图形支持系统

发布时间:2007/8/29 0:00:00 访问次数:390


        为目标嵌入式产品选择适合的嵌入式图形支持系统成为与选择嵌入式操作系统一样颇具挑战性。本土公司开发的MiniGUI是一个高效、可靠、可定制、小巧灵活的图形用户界面支持系统,并具有跨硬件平台、跨操作系统的可移植性,非常适合于实时嵌入式产品开发。本文详细阐述了MiniGUI的特点、运行模式和应用。

        随着高端消费类电子产品(PDA、手机等)的广泛应用,原先仅在军工、工业控制等领域中使用的实时嵌入式操作系统,受到越来越多的关注。因为嵌入式产品本身是一种高度定制化的软硬件集成产品,单个操作系统无法满足各类嵌入式产品的多样化需求,因此,业界有许多各具特色的实时嵌入式操作系统产品可供选择。

        在嵌入式产品开发中,除操作系统之外,开发人员关注最多的另外一个系统软件组件就是图形支持系统。只要是面向人机交互的嵌入式产品,就涉及到文字或者图形的输出问题。

        不过,在嵌入式系统上的GUI应用开发,不像PC平台上的应用开发那么容易和方便。一是因为设备的可用资源有限(CPU运算能力、静态和动态存储空间等),二是因为操作系统提供的底层机制有限。这样,为具有不同硬件配置的嵌入式产品以及各类实时嵌入式操作系统提供功能完备、且又适合嵌入式产品特点的GUI支持系统,存在着诸多技术挑战。

嵌入式操作系统的选择

        “内核接口+ANSI C库”的模式,是大多数嵌入式操作系统开发采用的编程模式。但是,这种模式还存在一些问题。如果我们要使用ANIS C库中的标准I/O接口,则需要操作系统提供文件系统及字符输出的支持;如果我们要使用ANSI C库中的内存管理函数(malloc/free函数族),就需要提供针对具体硬件的堆管理方案及实现代码。因此,RTOS通常都设计为模块化的软件系统,需要什么样的功能,可向RTOS产品厂商购买对应的模块来实现。



图 1 RTOS 的一般软件结构。

        实际上,不同RTOS之间的区别,除了在任务管理上的核心区别之外,其他的主要区别就在外围模块上。图1给出了RTOS的一般软件结构。

RTOS可划分为如下几个种类:

1.传统实时嵌入式操作系统。主要包括:VxWorks、pSOS、Nucleus、WinCE等。VxWorks和pSOS的用户主要集中在军工、工业控制及电信领域,Nucleus和WinCE在消费类产品中应用较为广泛。

2.开放源码的嵌入式操作系统。典型代表有Linux/uClinux、eCos。因为传统实时嵌入式操作系统价格比较昂贵,所以许多用户开始使用免授权费的Linux/uClinux等操作系统开发自己的嵌入式产品。Linux操作系统从本质上属于通用操作系统,缺少强实时支持,因此嵌入式Linux在某些不需要强实时性的嵌入式产品中得到了较多应用,典型的产品有智能手机(这类产品中的实时性主要通过专用硬件芯片保证)、查询终端等。uClinux是Linux的一个变种,主要运行在没有内存管理单元(MMU)的CPU架构上。因为没有内存管理单元,uClinux无法实现现代操作系统能够提供的进程地址空间保护等高级特性,但它最大程度地保留了Linux的系统调用功能,而且资源消耗低,因此在一些中低端的32位嵌入式产品中得到了应用。eCos也是一种开源、免授权费的RTOS产品。和Linux/uClinux相比,它更类似传统的实时嵌入式操作系统,而且提供了丰富的外围模块,如文件系统、TCP/IP接口模块、POSIX兼容接口模块等。根据笔者的实际应用经验,eCos操作系统在一定程度上可以用来替代传统实时嵌入式操作系统。

3.新型实时嵌入式操作系统。主要包括uC/OS-II、ThreadX等操作系统,它们的出现,填补了RTOS操作系统市场的中低端市场,给广大嵌入式产品开发者提供了性价比较高的选择。

4.本地实时嵌入式操作系统。近几年,中国也有厂商开始提供自主研发的实时嵌入式操作系统,典型的有Hopen和Delta操作系统。这些产品已经在消费类电子产品和军工领域中得到了一些应用。通过上面的介绍可以看到,嵌入式操作系统市场中存在各种产品可供选择。嵌入式产品的种类丰富,需求多样,不太可能出现类似PC那样由一个操作系统独霸天下的状况。

嵌入式产品开发中常用的图形解决方案

在嵌入式产品的开发过程中,软件开发人员通常采取如下几种方法来解决产品的图形需求:

1.针对特定图形输出设备的接口,自行开发图形相关的功能函数。利用这种手段编写的程序,无法将显示逻辑和数据处理逻辑划分开来,从而导致程序结构不好,不便


        为目标嵌入式产品选择适合的嵌入式图形支持系统成为与选择嵌入式操作系统一样颇具挑战性。本土公司开发的MiniGUI是一个高效、可靠、可定制、小巧灵活的图形用户界面支持系统,并具有跨硬件平台、跨操作系统的可移植性,非常适合于实时嵌入式产品开发。本文详细阐述了MiniGUI的特点、运行模式和应用。

        随着高端消费类电子产品(PDA、手机等)的广泛应用,原先仅在军工、工业控制等领域中使用的实时嵌入式操作系统,受到越来越多的关注。因为嵌入式产品本身是一种高度定制化的软硬件集成产品,单个操作系统无法满足各类嵌入式产品的多样化需求,因此,业界有许多各具特色的实时嵌入式操作系统产品可供选择。

        在嵌入式产品开发中,除操作系统之外,开发人员关注最多的另外一个系统软件组件就是图形支持系统。只要是面向人机交互的嵌入式产品,就涉及到文字或者图形的输出问题。

        不过,在嵌入式系统上的GUI应用开发,不像PC平台上的应用开发那么容易和方便。一是因为设备的可用资源有限(CPU运算能力、静态和动态存储空间等),二是因为操作系统提供的底层机制有限。这样,为具有不同硬件配置的嵌入式产品以及各类实时嵌入式操作系统提供功能完备、且又适合嵌入式产品特点的GUI支持系统,存在着诸多技术挑战。

嵌入式操作系统的选择

        “内核接口+ANSI C库”的模式,是大多数嵌入式操作系统开发采用的编程模式。但是,这种模式还存在一些问题。如果我们要使用ANIS C库中的标准I/O接口,则需要操作系统提供文件系统及字符输出的支持;如果我们要使用ANSI C库中的内存管理函数(malloc/free函数族),就需要提供针对具体硬件的堆管理方案及实现代码。因此,RTOS通常都设计为模块化的软件系统,需要什么样的功能,可向RTOS产品厂商购买对应的模块来实现。



图 1 RTOS 的一般软件结构。

        实际上,不同RTOS之间的区别,除了在任务管理上的核心区别之外,其他的主要区别就在外围模块上。图1给出了RTOS的一般软件结构。

RTOS可划分为如下几个种类:

1.传统实时嵌入式操作系统。主要包括:VxWorks、pSOS、Nucleus、WinCE等。VxWorks和pSOS的用户主要集中在军工、工业控制及电信领域,Nucleus和WinCE在消费类产品中应用较为广泛。

2.开放源码的嵌入式操作系统。典型代表有Linux/uClinux、eCos。因为传统实时嵌入式操作系统价格比较昂贵,所以许多用户开始使用免授权费的Linux/uClinux等操作系统开发自己的嵌入式产品。Linux操作系统从本质上属于通用操作系统,缺少强实时支持,因此嵌入式Linux在某些不需要强实时性的嵌入式产品中得到了较多应用,典型的产品有智能手机(这类产品中的实时性主要通过专用硬件芯片保证)、查询终端等。uClinux是Linux的一个变种,主要运行在没有内存管理单元(MMU)的CPU架构上。因为没有内存管理单元,uClinux无法实现现代操作系统能够提供的进程地址空间保护等高级特性,但它最大程度地保留了Linux的系统调用功能,而且资源消耗低,因此在一些中低端的32位嵌入式产品中得到了应用。eCos也是一种开源、免授权费的RTOS产品。和Linux/uClinux相比,它更类似传统的实时嵌入式操作系统,而且提供了丰富的外围模块,如文件系统、TCP/IP接口模块、POSIX兼容接口模块等。根据笔者的实际应用经验,eCos操作系统在一定程度上可以用来替代传统实时嵌入式操作系统。

3.新型实时嵌入式操作系统。主要包括uC/OS-II、ThreadX等操作系统,它们的出现,填补了RTOS操作系统市场的中低端市场,给广大嵌入式产品开发者提供了性价比较高的选择。

4.本地实时嵌入式操作系统。近几年,中国也有厂商开始提供自主研发的实时嵌入式操作系统,典型的有Hopen和Delta操作系统。这些产品已经在消费类电子产品和军工领域中得到了一些应用。通过上面的介绍可以看到,嵌入式操作系统市场中存在各种产品可供选择。嵌入式产品的种类丰富,需求多样,不太可能出现类似PC那样由一个操作系统独霸天下的状况。

嵌入式产品开发中常用的图形解决方案

在嵌入式产品的开发过程中,软件开发人员通常采取如下几种方法来解决产品的图形需求:

1.针对特定图形输出设备的接口,自行开发图形相关的功能函数。利用这种手段编写的程序,无法将显示逻辑和数据处理逻辑划分开来,从而导致程序结构不好,不便

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!