嵌入式图形用户界面在S3C44B0X上的移植论文.docx

上传人:安*** 文档编号:17761645 上传时间:2022-05-26 格式:DOCX 页数:11 大小:18.74KB
返回 下载 相关 举报
嵌入式图形用户界面在S3C44B0X上的移植论文.docx_第1页
第1页 / 共11页
嵌入式图形用户界面在S3C44B0X上的移植论文.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《嵌入式图形用户界面在S3C44B0X上的移植论文.docx》由会员分享,可在线阅读,更多相关《嵌入式图形用户界面在S3C44B0X上的移植论文.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式图形用户界面在S3C44B0X上的移植论文嵌入式图形用户界面在S3C44B0X上的移植论文今天学习啦我要与大家共享的是:嵌入式图形用户界面在S3C44B0X上的移植相关论文。详细内容如下,欢迎参考浏览:关键词:C/GUI实时操作系统接口S3C44B0X移植论文正文:嵌入式图形用户界面在S3C44B0X上的移植1、引言如今随着信息化、智能化、网络化的迅速发展,嵌入式系统已被广泛应用在消费电子、工业应用、军事国防、网络设备等领域。C/GUI作为一个通用的嵌入式应用的图形模块,它在嵌入式系统中的作用也显得的越来越重要。C/GUI是一个源代码开放的图形系统,它提供了丰富的资源,包括二维绘图库、多

2、字体及可扩大字符集、Unicode、位图显示、多级RGB及灰度调整、动画优化显示、具有Windows风格的对话框和预定义控件(按钮、编辑框、列表框等),以及对键盘、鼠标、触摸屏等输入设备和双LCD输出的支持,目前在具有图形界面的嵌入式产品中得到越来越广泛地应用。2、通用嵌入式图形模块uC/GUIC/GUI是一个通用的嵌入式应用的图形模块,它是美国Micrium公司开发的一种高效的、与处理器和LCD控制器独立的通用GUI,能够适用各种CPU和LCD,在单任务和多任务操作系统中,它都能够工作得很好。它具有驱动接口层和应用层,全部代码采用ANSI_C编写,提供源代码,能够方便的移植到各种平台下。2.

3、1C/GUI特点 (1)支持任何8位、16位和32位的CPU,只要求CPU具有相应的ANSI_C编译器即可。 (2)所有硬件接口定义都使用可配置的宏。 (3)字符、位图可显示与LCD的任意点,并不限制与字节长度的整数倍数地址。 (4)所有程序在长度和速度方面都进行了优化,构造明晰。 (5)对于慢速的LCD控制器,能够使用缓冲存储器减少访问时间,提高显示速度。由于C/GUI具有这些优点,它越来越遭到更多嵌入式设计者的青睐。2.2C/OS-II介绍在嵌入式系统的开发经过中,选择操作系统与选择开发平台一样的重要。固然不是一个完好的实时操作系统,只是一个实时内核,但与其它操作系统比起来它具有很多优点因

4、此得到了广泛的应用。首先它是一种构造简单、源代码公开的操作系统,合适所有的开发者使用;它具有可移植性,它的绝大部分源码都是用移植性很强的ANSI_C编写,与微处理器硬件相关的部分采用汇编语言编写,很容易被移植到各种微处理器上;它还具有可固化和可裁剪等特点,对于嵌入式设计者来讲的,只要拥有固化手段(C编译、连接、下载和固化),就能够很方便将其嵌入到产品中去。设计者还能够根据系统应用程序的需要对C/OS-II进行相应的裁剪来减少产品中的C/OS-II所需的存储器空间,这能够通过条件编译来实现。2.3C/GUI接口C/GUI是运行于操作系统之上的程序,它既需要与操作系统的协调,又需要与各种输入输出设

5、备的协调,来实现用户层与应用程序层的联合,即通过输入设备接收用户请求、通过输出设备反映微处理器的响应。因而在这一经过中GUI至少要与3个对象打交道:输入设备、输出设备和操作系统。因而C/GUI接口主要包括2个,与操作系统的接口和与输入输出设备的接口,这也正是在移植C/GUI的经过中所要解决的关键问题。对于操作系统,GUI作为操作系统的一个显示任务接受操作系统的调度,C/GUI提供了与操作系统的接口支持。与操作系统的接口主要解决系统实时性的要求。对于用户输入,C/GUI提供了键盘、鼠标以及触摸屏等支持,对于输出设备GUI反映微处理器的响应给用户是通过LCD输出图像来完成的,对于不同型号和显示原理

6、的LCD要编制相应的驱动程序。3、uC/GUI在基于S3C44B0X的C/OS-II上移植3.1S3C44B0X微处理器和开发平台简介这里硬件开发平台的微处理器选择三星公司的S3C44B0X,实时操作系统选择移植性较强的C/OS-II。S3C44B0X微处理器是三星公司专为手持设备和一般应用提供的一款高性价比的微处理器解决方案,它采用ARM7TDMI核,工作在66MHz,为减少外围件,该芯片集成了8KB的Cache、LCD控制器、5通道PWM定时器和一个内部定时器、71个I/O口、8个外部中断源、实时时钟等3。移植的目的平台的液晶模块使用320240分辨率,通过总线的形式连接在S3C44B0X

7、的Bank3上,并在系统的内存区开拓了一块内存作为液晶显示的后台缓存。要成功将C/GUI移植到该平台上一般要解决下面几方面的问题。3.2C/GUI与操作系统的接口相关部分的修改C/GUI在与C/OS-II结合应用时通常被分为几个小的显示任务,由于每个显示任务都共用一个GUI_Context上下文变量,在操作系统进行任务切换时一个GUI任务对上下文的操作可能被另外一个GUI任务打断,此时新的GUI任务对上下文的操作是在被中断任务的上下文基础上进行的,这样前一个任务的信息会被后一个任务所使用,有些基本信息作为公用信息需要被共用,而有些信息在处理经过中是不能被打断的。这就存在资源互斥的问题。C/GU

8、I在设计时是通过上锁和解锁来解决此问题。其经过是通过在关键区域入口设置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

9、_X_Delay()中调用C/OS-II的OSTimeDly()实现延时和任务切换。这涉及到2个系统时间接口函数的定义:intGUI_X_GetTime(void);/*取系统时间*/voidGUI_X_Delay(intms);/*延时函数*/3.3C/GUI与输入输出设备驱动接口模块设计本文以LCD驱动接口模块设计为例介绍在C/GUI移植经过中LCD驱动程序的编写,以最终实现图形显示。驱动程序主要是LCD初始化,这个函数完成对44B0XLCD控制器的配置、显存的映射等。这里还是以320240彩色LCD为例介绍一下初始化程序的编写。详细如下:voidLCD_Init(void)inti;LC

10、D_DisplayOpen(FALSE);/*关LCD显示*/for(i=0;i320*240;i+)/*初始化显存*/*(pLCDBuffer256+i)=0x0;rPDATD=0xff;/*PDATD7:0:此处初始化为0xff*/rPCOND=0xaaaa;/*PCOND15:0:配置为功能端*/rPUPD=0x00;/*PUPD7:0:允许相应位的上拉电阻(0=允许,1=禁止)*/rLCDCON1=(0)|(DISMODE5)|(WDLY8)|(WLH10)|(CLKVAL12);/*disable,8B_SNGL_SCAN,WDLY=16clk,WLH=16clk,CLKVAL=10

11、*/rLCDCON2=(LINEVAL)|(HOZVAL10)|(LINEBLANK21);/*彩色形式,LCDBANK=0xc000000,LCDBASEU=0x0*/rLCDSADDR1=(MODESEL27)|(U32)pLCDBuffer25622)21)|M5D(U32)pLCDBuffer2561);rLCDSADDR2=M5D(U32)pLCDBuffer256+(LCDWIDTH*LCDHEIGHT)1)| (MVAL21);rLCDSADDR3=PAGEWIDTH|(OFFSIZE9);rREDLUT=0xfdb97531;/*设置红绿蓝三色的颜色值*/rGREENLUT=0

12、xfdb97531;rBLUELUT=0xfb73;rDITHMODE=0x0;rDP1_2=0xa5a5;rDP4_7=0xba5da65;rDP3_5=0xa5a5f;rDP2_3=0xd6b;rDP5_7=0xeb7b5ed;rDP3_4=0x7dbe;rDP4_5=0x7ebdf;rDP6_7=0x7fdfbfe;/*enable,8B_SNGL_SCAN,WDLY=16clk,WLH=16clk,CLKVAL=10*/rLCDCON1=(1)|(DISMODE5)|(WDLY8)|(WLH10)|(CLKVAL12);Delay(5000);LCD_BkLight(TRUE);/*开

13、背光*/LCD_DisplayOpen(TRUE);/*打开LCD显示*/完成如上LCD驱动以后,再设置相应的中断服务子程序(IS),C/GUI就能够稳定地运行在C/OS-II和目的平台之上了。3.4C/GUI配置文件参数的修改主要是LCDConf.h配置文件的修改,假如LCD选用320240彩色,就要作如下修改LCDConf.h的内容:/*LCDConf.h*/#ifndefLCDCONF_H#defineLCDCONF_H#defineLCD_XSIZE(320)/*LCD水平分辨率*/#defineLCD_YSIZE(240)/*LCD竖直分辨率*/#defineLCD_BITSPERP

14、IXEL(8)#endif另外,还涉及到LCD寄存器常量的设置等这里不逐一详述。到这里c/GUI的移植基本完成。本文只介绍了c/GUI结合LCD在基于S3C44B0X的C/OS-II上的移植。假如涉及到输入设备键盘、鼠标以及触摸屏的移植还要编写相应的驱动程序和其相关参数的修改。4、结束语本文具体介绍了嵌入式图形用户界面在基于C/OS-II目的平台上的移植经过,实际表明在具有图形界面的嵌入式系统的开发中,采用基于C/OS-II的图形系统c/GUI,移植简便、使用方便灵敏,目前基于C/OS-II的c/GUI系统已成功移植到了系统效率测试仪上,系统的电能参数(电流、电压、功率)能够实时收集和实时波形显示;参数设置以菜单、编辑框的形式实现,界面的切换以窗口的形式实现。充分利用了c/GUI强大的图形功能,使人机界面愈加丰富、友好。实践表明系统具有良好的实时性和稳定性。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 汇报体会

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁