嵌入式图形用户界面在S3C44B0X上的移植_第1页
嵌入式图形用户界面在S3C44B0X上的移植_第2页
嵌入式图形用户界面在S3C44B0X上的移植_第3页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式图形用户界面在S3C44B0X上的移植

关键词:μC/GUI实时操作系统接口S3C44B0X移植1引言如今随着信息化、智能化、网络化的迅速发展,嵌入式系统已被广泛应用在消费电子、工业应用、军事国防、网络设备等领域。μC/GUI作为一个通用的嵌入式应用的图形模块,它在嵌入式系统中的作用也显得的越来越重要。μC/GUI是一个源代码开放的图形系统,它提供了丰富的资源,包括二维绘图库、多字体及可扩充字符集、Unicode、位图显示、多级RGB及灰度调整、动画优化显示、具有Windows风格的对话框和预定义控件(按钮、编辑框、列表框等),以及对键盘、鼠标、触摸屏等输入设备和双LCD输出的支持,目前在具有图形界面的嵌入式产品中得到越来越广泛地应用。2通用嵌入式图形模块uC/GUIμC/GUI是一个通用的嵌入式应用的图形模块,它是美国Micrium公司开发的一种高效的、与处理器和LCD控制器独立的通用GUI,可以适用各种CPU和LCD,在单任务和多任务操作系统中,它都可以工作得很好。它具有驱动接口层和应用层,全部代码采用ANSI_C编写,提供源代码,可以方便的移植到各种平台下。2.1μC/GUI特点(1)支持任何8位、16位和32位的CPU,只要求CPU具有相应的ANSI_C编译器即可。(2)所有硬件接口定义都使用可配置的宏。(3)字符、位图可显示与LCD的任意点,并不限制与字节长度的整数倍数地址。(4)所有程序在长度和速度方面都进行了优化,结构清晰。(5)对于慢速的LCD控制器,可以使用缓冲存储器减少访问时间,提高显示速度[1]。因为μC/GUI具有这些优点,它越来越受到更多嵌入式设计者的青睐。2.2μC/OS-II介绍在嵌入式系统的开发过程中,选择操作系统与选择开发平台一样的重要。虽然不是一个完整的实时操作系统,只是一个实时内核,但与其它操作系统比起来它具有很多优点因而得到了广泛的应用。首先它是一种结构简单、源代码公开的操作系统,适合所有的开发者使用;它具有可移植性,它的绝大部分源码都是用移植性很强的ANSI_C编写,与微处理器硬件相关的部分采用汇编语言编写,很容易被移植到各种微处理器上;它还具有可固化和可裁剪等特点,对于嵌入式设计者来讲的,只要拥有固化手段(C编译、连接、下载和固化),就可以很方便将其嵌入到产品中去。设计者还可以根据系统应用程序的需要对μC/OS-II进行相应的裁剪来减少产品中的μC/OS-II所需的存储器空间,这可以通过条件编译来实现。2.3μC/GUI接口μC/GUI是运行于操作系统之上的程序,它既需要与操作系统的协调,又需要与各种输入输出设备的协调,来实现用户层与应用程序层的联结,即通过输入设备接收用户请求、通过输出设备反映微处理器的响应。因此在这一过程中GUI至少要与3个对象打交道:输入设备、输出设备和操作系统。因此μC/GUI接口主要包括2个,与操作系统的接口和与输入输出设备的接口,这也正是在移植μC/GUI的过程中所要解决的关键问题。对于操作系统,GUI作为操作系统的一个显示任务接受操作系统的调度,μC/GUI提供了与操作系统的接口支持。与操作系统的接口主要解决系统实时性的要求。对于用户输入,μC/GUI提供了键盘、鼠标以及触摸屏等支持,对于输出设备GUI反映微处理器的响应给用户是通过LCD输出图像来完成的,对于不同型号和显示原理的LCD要编制相应的驱动程序。3uC/GUI在基于S3C44B0X的μC/OS-II上移植3.1S3C44B0X微处理器和开发平台简介这里硬件开发平台的微处理器选择三星公司的S3C44B0X,实时操作系统选择移植性较强的μC/OS-II。S3C44B0X微处理器是三星公司专为手持设备和一般应用提供的一款高性价比的微处理器解决方案,它采用ARM7TDMI核,工作在66MHz,为减少外围件,该芯片集成了8KB的Cache、LCD控制器、5通道PWM定时器和一个内部定时器、71个I/O口、8个外部中断源、实时时钟等[3]。移植的目标平台的液晶模块使用320×240分辨率,通过总线的形式连接在S3C44B0X的Bank3上,并在系统的内存区开辟了一块内存作为液晶显示的后台缓存。要成功将μC/GUI移植到该平台上一般要解决以下几方面的问题。3.2μC/GUI与操作系统的接口相关部分的修改μC/GUI在与μC/OS-II结合应用时通常被分为几个小的显示任务,由于每个显示任务都共用一个GUI_Context上下文变量,在操作系统进行任务切换时一个GUI任务对上下文的操作可能被另外一个GUI任务打断,此时新的GUI任务对上下文的操作是在被中断任务的上下文基础上进行的,这样前一个任务的信息会被后一个任务所使用,有些基本信息作为公用信息需要被共用,而有些信息在处理过程中是不能被打断的。这就存在资源互斥的问题。μC/GUI在设计时是通过上锁和解锁来解决此问题。其过程是通过在关键区域入口设置GUI_X_Lock()以获得专一访问权,用完后在出口处设置GUI_X_Unlock()让出资源,达到多个GUI任务对同一数据在关键区域内访问的互斥。在μC/GUI移植到μC/OS-II的过程中,则需要利用操作系统实现资源互斥的系统调用对上述宏进行替换,这涉及到3个任务调度函数的重新定义:voidGUI_X_InitOS(void);/*任务初始化*/voidGUI_X_Lock(void);/*任务锁定*/voidGUI_X_Unlock(void);/*任务解锁*/此外μC/GUI还用到μC/OS-II中的延时调用,通过在GUI_X_Delay()中调用μC/OS-II的OSTimeDly()实现延时和任务切换。这涉及到2个系统时间接口函数的定义:int

GUI_X_GetTime(void);/*取系统时间*/voidGUI_X_Delay(intms);/*延时函数*/4结束语本文详细介绍了嵌入式图形用户界面在基于μC/OS-II目标平台上的移植过程,实际表明在具有图形界面的嵌入式系统的开发中,采用基于μC/OS-II的图形系统μc/GUI,移植简便、使用方便灵活,目前基于μC/OS-I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论