基于S3C44B0X的嵌入式GUI的研究与应用

发布者:RadiantWhisper最新更新时间:2009-03-24 来源: 计算机与信息技术关键字:uC/GUI  S3C44B0X  嵌入式系统 手机看文章 扫描二维码
随时随地手机看文章

  1  GUI 的概述

  GUI以一种以图形化为基础的用户界面,使用统一的图形操作系统,如可移动的视窗、选项与鼠标,作为用户与操作系统之间的中介。GUI最重要的优势在于使用户摆脱了在命令行提示符下与操作系统进行交互的方式,用户可以仅仅通过鼠标点击来实现熟悉程序的操作,而且由于图表、对话框等的引入,使得操作直观形象。GUI已成为一种用户与计算机交互的标准。包括Microsoft的视窗系统、Unix的Motif、Linux的桌面系统GNOME。

  在计算机硬件平台下的GUI模型一般如图1所示:

  uC/GUI是由Micrium公司专门针对嵌入式系统开发的一款图形开发系统。它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器及 LCD 控制器的图形用户接口,它适用单任务或是多任务系统环境, 并适用于任意 LCD 控制器和 CPU 下任何尺寸的真实显示或虚拟显示。

  对于开发uC/GUI图形应用不需要什么目标系统, 大部分的图形应用开发都可以在模拟器下进行; 但是最终的目的是通常还是在目标系统上运行程序。

  目标系统(硬件):

  [1].CPU(8/16/32/64位)。

  [2].必要的RAM和ROM 存储。

  [3].LCD 显示器(任何类型及分辨率的)。

  对于内存的需求取决于你选用的 UCGUI 的功能模块以及你所使用的目标系统上的编译器的效率. 内存的占用量无法估计准确的值, 下面就一些的数值适用于多数的目标系统。

表1  uC/GUI资源需求情况

  注:①小型系统指不包含窗口管理功能,大型系统指包含窗口管理及各种窗体控件功能。

  ②ROM的需求量随着应用程序中使用的字体数目而增长。

  2  基于S3C44B0X处理器的嵌入式系统的基本组成

  三星公司推出的16/32位RISC处理器S3C44B0X为手持设备和一般应用提供了高性价比和高性能的微控制器解决方案。为了降低成本,同时增强稳定性,S3C44B0X提供了丰富的内置部件,包括:8KB Cache和 内部SRAM,LCD控制器等,其主频可以达到66MHz,速度几乎相当于486CPU,而且扩展了完整丰富的外围设备的接口,图2是典型的系统的框图。

图2   系统框图

  采用三星的S3C44B0X开发通用的嵌入式系统,S3C44B0X的运行方式通常有两种:一种是有操作系统的,由于操作系统所占用的空间比较大,所以Flash里面装的是系统引导程序,通常称为Boot Loader,是在系统复位后执行的第一段代码,相当于PC上的BIOS,完成系统硬件的初始化,包括时钟的设置、存储区的映射等,设置堆栈指针,然后跳转到操作系统内核的入口,将系统控制权交给操作系统,在此之后系统的运行和Boot Loader 再无任何关系。Boot Loader独立于操作系统,必须由用户自己设计,它的实现高度依赖于硬件,包括处理器的体系结构、具体型号、硬件电路板的设计。

  另一种是无操作系统的,系统的初始化以及主程序都是在Flash内,它与S3C44B0X的Bank0相连,上电复位后系统使程序从0x00000000开始运行。

  3  利用uC/GUI开发GUI应用程序的基本方法

  由于uC/GUI提供了源代码,因此可以很容易地将它移植到各个平台下,使用时,只要将uC/GUI的软件压缩包解压缩到一个目录下就可以了。

  3.1 uC/GUI的结构

  uC/GUI的软件体系结构如图3所示。uC/GUI函数库为用户的应用程序提供GUI接口,包含的函数有文本、数值、二维图形、输入设备以及各种窗口对象。其中,输入设备可以是键盘、鼠标或触摸屏;二维图形包括图片、直线、多边形、圆、椭圆、圆弧等;窗口对象包括按钮、编辑框、进度条、复选框等。μC/GUI函数库可以通过GUI_Conf.h文件进行配置,配置的内容包括是否采用内存设备,是否采用窗口管理器,是否支持操作系统、触摸屏、以及配置动态内存的大小等。

图3  uC/GUI的软件体系结构

  3.2   利用uC/GUI开发应用程序的步骤

  由于uC/GUI提供了源代码,在开发应用程序时,用户可以首先将核心文件、LCD驱动文件和需要的字体文件包含在自己的工程里,然后再根据实际的硬件需要,包含内存设备输入设备控件和窗口管理部分。

  具体可以分为以下几步:

  ⑴按照实际需要,定制自己的uC/GUI开发环境。其中包括对上述目录的筛选,或对目录中文件的筛选。

  ⑵指定硬件设备的地址,编写接口驱动代码。这里需要修改LCD_Conf.h文件。

  ⑶编译、链接、调试示例程序。

  ⑷修改示例程序并测试,增加需要的功能。

  ⑸如果准备开发多任务应用,则需要修改GUI_MAXTASK和GUI_OS宏,实现uC/GUI与操作系统的结合。

  ⑹编写自己的应用程序。

  使用uC/GUI开发应用程序时,目标系统不是必须配备的,因为uC/GUI提供了一个模拟器,用户可以在模拟器上面看到应用程序的执行的结果。所以,对于开发环境,uC/GUI仅要求有一个符合ANSI标准的“C”语言编译器。至于C++编译器,它不是必须的,但是如果用户使用C++语言来编写应用程序,那就需要一个C++编译器。[1]

  因此,在Windows系统下只要安装了Microsoft Visual C++就可以运行uC/GUI的模拟器工程(工程名一般为Simulation.dsw),然后将该工程中的Application文件夹清空,加入自己编写的源文件,编译链接就可以看到运行结果。

  3.3应用实例

  下图是用uC/GUI开发应用程序的一个实例,该程序是显示汽车运行时发动机转速的一个界面。

图4 用户界面图

  黑色的背景是这个LCD的窗口区域,大小为640*480。先利用画线函数绘制基本的弧线,再利用填充函数填充相应的背景颜色,最后用一个分片存储设备执行一个指定的绘图函数,在这种情况下,在一段时间内只有一小部分要更新。

  4  结束语

  本文只是简单展示了uC/GUI在开发图形用户界面上的应用,其巨大的应用潜力还有待进一步的研究。相信随着计算机渗透到人类工作和生活的各个方面,以嵌入式系统为核心的后PC时代的到来,uC/GUI的应用前景也将更为广阔。

关键字:uC/GUI  S3C44B0X  嵌入式系统 引用地址:基于S3C44B0X的嵌入式GUI的研究与应用

上一篇:基于ARM9 AT91RM9200T的嵌入式网络接口
下一篇:风河宣布达成对 Tilcon 软件公司的收购协议

推荐阅读最新更新时间:2024-05-02 20:47

中国嵌入式系统年会在东莞举行,龙芯、国芯等成新增理事
电子网消息,12月15日,中国软件行业协会嵌入式系统分会、中国嵌入式系统产业联盟2107年理事会会议在东莞松山湖举行,来自中国嵌入式系统产业联盟和中国软件行业协会嵌入式系统分会的近50位理事成员齐聚一堂,交流高新智能技术、分享研究成果,同时选举通过了待补选理事名单。 理事会会议选举通过了龙芯中科技术有限公司、中国科学院物联网研究发展中心、长春工业大学应用技术学院、深圳市华宝电子科技有限公司、北京大学微电子研究所SoC研究所、中国科学院云计算产业技术创新与育成中心、苏州国芯科技有限公司等7家单位成为新增理事成员。 此外,中国智能技术创新发展国际论坛暨2017年中国嵌入式系统年会将于次日在东莞松山湖举行。中国嵌入式系统产业联盟
[半导体设计/制造]
基于GSM家庭小汽车防盗报警系统的研究
    针对目前世界范围内汽车盗窃案的上升趋势,各汽车厂家都在不断地改进防盗技术,尤其是随着微电子技术的进步,汽车防盗技术己向着自动化、智能化方向发展。汽车防盗器按其结构和功能大致分为4类:机械式,电子式,芯片式和网络式。其中,机械锁是最传统的防盗装置,一般不单独使用;电子式防盗系统是目前应用最广泛的一种装置;而芯片式数码防盗器和网式防盗系统是汽车防盗系统的发展方向。本文根据汽车防盗系统所涉及基本原理,系统数据信息处理中用的GSM短信息协议,详细介绍了系统的硬件构成,包括系统电源电路、微控制器MSP430F149、GSM无线模块、TC35、GPS接收模块以及外围的检测控制电路。本系统相对与市面上其它类型的防盗报警系统优势在于,可以
[嵌入式]
NucleusPlus在嵌入式系统应用
    Nucleus Plus是美国源代码操作系统商ATI公司推出的新一代嵌入式操作系统,属于抢先式实时多任务操作系统内核, 95%的代码使用ANSI C编写,非常便于移植于各种处理器家族。从实现的角度讲,不同于传统嵌入式开发,Nucleus Plus是以函数库的形式链接到目标应用程序中,形成可执行目标代码,下载到目标板上或烧到ROM/FLASH ROM 中去执行。Nucleus Plus内核在典型的CISC体系结构上占据大约20k空间,而在典型的RISC体系结构上占据空间为40k左右,其内核数据结构占据1.5k字节的空间。Nucleus Plus以其实时响应、抢先、多任务以及源代码开放特性获得在通讯、国防、工业控制、航空/航天
[应用]
基于ARM嵌入式系统的PC/104总线设计
当前已经进入嵌入式系统全面应用时代,基于ARM处理器和嵌入式Linux的嵌入式系统以其设计灵活、软硬件可裁剪、性能优越、成本低等特点和优势,倍受设计者和使用者青睐。 其在低功耗、低成本应用领域确立了其市场领导地位;同时随着x86架构的不断成熟和x86处理器的应用范围越来越广,人们逐步开始认识到其本身架构的限制,在工业控制领域嵌入式ARM处理器将有望取代传统的X86处理器。    PCI04总线是一种近年来在国际上广泛流行的专门为嵌入式系统而定义的工业控制总线,被IEEE协会定义为IEEE-P996,该系列产品已广泛应用于通信设备、车辆导航、工程控制等各种领域。由于PC或PC/AT的主板和扩展卡的尺寸及功耗标准都太大
[单片机]
基于ARM<font color='red'>嵌入式系统</font>的PC/104总线设计
技术文章—SysConfig如何助推嵌入式系统开发
嵌入式系统开发人员面临的重大挑战之一是如何高效而精确地配置系统。当今先进的微控制器(MCU)包括各类处理器内核、硬件加速器、先进的无线电、精密的外围器件和接口,并带有复杂的管脚多路复用方案的封装。 许多半导体供应商提供的软件示例可为嵌入式设计提供起点,但是开发人员通常必须修改各种参数、事件和变量,以针对特定应用优化软件。这些修改通常需要查阅许多技术文档,以识别和更新特定的寄存器或源代码行。考虑到代码序列的复杂性和各类命名规范,此类手动修改较容易出错。更新的数量也可能呈指数增长,这取决于给定软件组件支持的选项数量以及所需应用程序使用的选项数量。手动更新还可能引入直到构建过程的更晚阶段才被发现的资源冲突,从而导致运转受阻和潜在的多
[嵌入式]
技术文章—SysConfig如何助推<font color='red'>嵌入式系统</font>开发
基于ARM核的Intel XScale嵌入式系统
摘要: 简要介绍Intel XScale的特点以及与Intel StrongARM的区别;重点介绍PXA250处理器和PCM-7210单板计算机的结构、功能和接口特性。 关键词: XScale ARM核 PXA250 PCM-7210 1 简 介   Intel XScale微体系结构提供了一种全新的、高性价比、低功耗且基于ARMv5TE体系结构的解决方案,支持16位Thumb指令和DSP扩充。基于XScale技术开发的微处理器,可用于手机、便携式终端(PDA)、网络存储设备、骨干网(BackBone)路由器等。Intel PXA250微处理器芯片就是一款集成了32位Intel XScale 处理器核、多通信信道、LCD控制
[嵌入式]
军用嵌入式系统的可靠性考虑因素
1 可靠性是军用嵌入式系统的重要因素     嵌入式系统往往工作环境恶劣、受电噪声干扰较大,而且随着软件越来越复杂,系统运行不稳定的现象愈来愈严重,因此,可靠性已经成为衡量嵌人式系统优劣的重要因素;军用嵌入式系统更应高度重视其可靠性设计、测试和评估技术,应把可靠性作为嵌入式系统最重要的指标优先考虑。这一方面是因为嵌入式系统是软硬一体的混合系统,软件和硬件要共用大量的接口。因此要特别注意系统的稳定性、信号串扰、电磁干扰与静电防护等方面的可靠性设计问题。    另一方面,嵌入式系统的开发应用也为可靠性设计提供了有效手段(如软件抗干扰、仿真测试等可靠性技术)。然而,由于主要的处理器芯片和操作系统的核心技术掌握于国外厂商手中,我国的嵌
[嵌入式]
嵌入式系统中PCI总线仲裁器的设计与实现
PCI(Peripheral Component Interconnect)总线是现今最为流行的工业控制总线之一。它广泛地应用在计算机中,并且由于众多厂商对PCI的良好支持,使得目标嵌入式设备中的很多解决方案都包含了PCI总线。在多主设备的PCI系统应用中,必须对各个主设备提供仲裁授权信号。很多厂家有针对性地发布了PCI仲裁逻辑的专用芯片或者集成了PCI重载逻辑的专用芯片,但使用不够灵活,为了使PCI设备能够更方便地应用在嵌入式系统中,本文介绍了一种基于CPLD(复杂可编程逻辑器件)的PCI总线仲裁器的设计方法,此方法可以为系统量身定制适合于系统本身的PCI总线仲裁器。而不必局限于特定的芯片要求,在体积、功能、成本等诸多方面都有很
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved