基于S3C44B0X的嵌入式GUI的研究

发布者:QuantumPulse最新更新时间:2023-02-06 来源: elecfans关键字:S3C44B0X  嵌入式  GUI 手机看文章 扫描二维码
随时随地手机看文章

  引 言

  随着半导体技术和信息技术的飞速发展,各式各样的嵌入式系统产品已经渗入到人们生活的每一个角落。小到手机、MP3、MP4、数码相机、机顶盒等产品,大到汽车、数控机床、火箭等产品。嵌入式GUI(Graphical User  Interface)作为嵌入式系统的应用软件,已经成为当今图形用户界面领域的发展焦点。


  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 的功能模块以及你所使用的目标系统上的编译器的效率。 内存的占用量无法估计准确的值, 下面就一些的数值适用于多数的目标系统。

 

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

  ②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开发应用程序的一个实例,该程序是显示汽车运行时发动机转速的一个界面。


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

  staTIc void DemoScale(void)

  {

  int Cnt;

  int tDiff, t0 = GUI_GetTime();

  PARAM Param;  /* 绘图函数的参数 */

  GUI_AUTODEV AutoDev; /* 分片存储设备对象 */

  GUI_SetColor(GUI_WHITE); /*设置颜色*/

  GUI_SetFont(&GUI_Font8x16);/*设置字体*/

  GUI_DispStringHCenterAt(“Scale using GUI_AUTODEV-object”, 160, 0);

  GUI_AA_EnableHiRes();/* 启动高分辨率用于抗锯齿 */

  GUI_AA_SetFactor(MAG);

  GUI_MEMDEV_CreateAuto(&AutoDev); /* 建立 GUI_AUTODEV 对象 */

  /* 显示在一个固定时间上的指针 */

  for (Cnt = 0; (tDiff = GUI_GetTime() - t0) < 24000; Cnt++);

  {

  /* 获得数值用于显示一个多边形来表示指针 */

  Param.Angle = GetAngle(tDiff)* DEG2RAD;

  GUI_RotatePolygon ( Param.aPoints,

  aNeedle,

  countof(aNeedle),

  Param.Angle);

  GUI_MEMDEV_DrawAuto(&AutoDev, &Param.AutoDevInfo, &Draw, &Param);

  }


  4  结束语

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


关键字:S3C44B0X  嵌入式  GUI 引用地址:基于S3C44B0X的嵌入式GUI的研究

上一篇:基于uCGUI的数据显示系统
下一篇:基于微处理器S3C44B0X的监测仪USB接口控制设计

推荐阅读最新更新时间:2024-11-05 14:21

​贸泽电子开售可提升AI和显卡性能的Advantech VEGA-X110嵌入式GPU卡
202 3 年 1 1 月 17 日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起供货Advantech的VEGA-X110嵌入式GPU卡。VEGA-X110 GPU卡利用Intel ® Arc™显卡提供卓越的性能和功耗、强大的图像处理能力以及更快速的边缘人工智能。Advantech VEGA-X110采用PCIe 4.0 x8接口,可集成到医疗成像、游戏平台和工厂自动化应用中。 贸泽目前供应的Advantech VEGA-X110嵌入式GPU卡是一款MXM Type A嵌入式GPU卡,搭载Intel ® Arc A370M GPU
[嵌入式]
​贸泽电子开售可提升AI和显卡性能的Advantech VEGA-X110<font color='red'>嵌入式</font>GPU卡
学习plc,单片机,组态软件,嵌入式的一些心得
如果专注于某一兴趣,且投入进去,那么一定会有一种感觉:学习真的没完没了,永远有学不完的东西! plc,51单片机,嵌入式系统,组态软件等等这些东西要学精学透真的必须踏踏实实的下功夫去钻研,要花大量的时间和精力!同时这些知识必须不断温习和巩固且要去实践,否则即便是当时理解了学会了,过些时日有些知识点便会遗漏掉。 上周用51单片机开发板+固态继电器+DC5V手机充电器+DC24V开关电源+DC24V继电器+飞利浦电风扇红外遥控器这些硬件自己动手做了一个带温度自动控制功能的AC220V遥控电源;虽然体积比较大,但是毕竟是自己的一件DIY作品,还是比较喜欢的。在动手制作的过程中 ,对硬件的掌握有了更深的认识,
[单片机]
嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(四)
一、移植环境 主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器: arm-linux-gcc-4.3.2.tgz u-boot: u-boot-2009.08.tar.bz2 二、移植步骤 上接: u-boot-2009.08在2440上的移植详解(三) 在这一篇中,我们首先让开发板对CS8900或者DM9000X网卡的支持,然后再分析实现u-boot怎样来引导Linux内核启动。因为测试u-boot引导内核我们要用到网络下载功能。 7)u-boot对CS8900或者DM9000X网卡的支持。 u-boot-2009.08版本已经
[单片机]
<font color='red'>嵌入式</font>Linux之我行——u-boot-2009.08在2440上的移植详解(四)
ARM9处理器与ARM7处理器比较
  摘要:ARM处理器是世界上最流行的 嵌入式 处理器,广泛应用于个人通信等 嵌入式 领域。ARM7处理器虽然功能强大,但是目前已经开始退出主流应用领域,代替它的是性能更加强大的ARM9系列处理器。介绍了ARM9处理器与ARM7处理器的不同之处,并且给出了 ARM9的应用实例。 ARM9系列处理器是英国ARM公司设计的主流 嵌入式 处理器,主要包括ARM9TDMI和ARM9E-S等系列。本文主要介绍它们与ARM7TDMI的结构以及性能比较。 以手机应用为例,2G手机只需提供语音及简单的文字短信功能,而目前的2.5G和未来的3G手机除了提供这两项功能外,还必须提供各种其他的应用功能。主要包括:(1)无线网络设备:手机上网、电子邮
[嵌入式]
ARM9处理器与ARM7处理器比较
嵌入式实时系统中断管理技术研究
摘要:嵌入式实时系统中断管理技术直接影响到系统的实时响应性能。本文通过对嵌入式内核中断管理技术的研究,归结出“中断前-后段处理”模型;同时,针对一些处理器中多个外部中断共用一个向量的问题,提出一种单向量多中断处理映射技术,并在PowerPC MPC860处理器上实现Delta OS内核时,验证此技术的有效性。 关键词:实时性 中断 中断管理模式 嵌入式实时系统 引 言 嵌入式实时系统(Real-Time System)是一个能够在指定或者确定的时间内对外部事件作出响应的系统,其重要的特性是实时响应性。   嵌入式实时系统对外部事件的响应一般都是通过中断来处理的,其对中断的处理方式,直接影响到系统的实时性能。 1 嵌
[应用]
利用BIOS定制实现嵌入式产品的差异化
BIOS定制是实现嵌入式产品差异化特性的有效途径,本文将讨论与创建这些定制BIOS相关的问题,包括快速引导、用户界面和功能,以及固件应用能力等。 许多基于x86的嵌入式解决方案都依赖针对台式计算机设计的BIOS,通过对BIOS进行配置可实现更高效的、富有成本效益的设计,以满足专用硬件和软件的需求。 在台式机、服务器以及笔记本电脑中常见的BIOS(一种专为IT应用而设计的BIOS)已被设计成使这些设备能像通用计算机一样工作,因此人们能以同样的方式来使用这些设备。而诸如网络设备和自助式信息服务终端(如kiosk设备)等基于x86的嵌入式产品,则需要像设备而不是像通用计算机那样来工作。嵌入式设备需要使设备具有独特功
[单片机]
利用BIOS定制实现<font color='red'>嵌入式</font>产品的差异化
基于GPRS的ARM7嵌入式单片机视频报警系统
利用以单片机应用系统为中心的小型嵌入式设备进行数据采集,并通过网络有效传输数据,已成为数据采集领域的研究焦点。由于嵌入式单片机系统集单片机和嵌入式系统为一体,因此嵌入式单片机系统广泛应用于那些对实时性、高速性和智能性要求很高的应用领域。目前计算机图像处理系统多为CCD摄像头+视频卡+计算机的工作模式,且结构复杂、成本高、体积庞大,受计算机操作系统的限制,图像处理实时性差。针对传统的图像采集系统的缺陷,本文讨论了基于ARM7S3C44BOX系列32位单片机的嵌入式系统在图像采集中的应用。 1 嵌入式影像系统对图像的处理 1.1 ARM7体系结构 ARM处理器是高性能、低功耗嵌入式微处理器,是目前32位、64位嵌人式处理器中应
[单片机]
基于GPRS的ARM7<font color='red'>嵌入式</font>单片机视频报警系统
凌华科技金牌赞助第六届中国PICMG技术年会
       展示网络通信和嵌入式领域最新技术和产品方案 2007年10月29日,北京讯 产业计算机应用平台供货商-凌华科技于10月24日至25日以金牌商赞助身份亮相第六届中国PICMG技术年会,与GE Fanuc、Motorola等国内外知名平台提供商、板卡厂商、系统集成商共聚一堂,展示网络通信和嵌入式领域最新技术和产品方案。 凌华科技工业计算机产品事业部副总经理黄怡暾先生发表精彩演讲 本届年会分为两个论坛,在第一天的网络通信论坛上,凌华科技工业计算机产品事业部副总经理黄怡暾先生发表“下一代通信平台——AdvancedTCA”的精彩演讲,与现场观众探讨AdvancedTCA标准,分享AdvancedTCA商业价值和IP
[焦点新闻]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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