uCOS与uCGUI在s3c2410上整合移植.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
uCOS与uCGUI在s3c2410上整合移植

uCGUI和uC/OS-II在S3C2410上的整合移植实现 吴倚龙,郝卫东,赵瑞芳 (桂林电子科技大学 机电与交通工程系, 广西 桂林 541004) 摘 要:本文在简要介绍UC/OS-II在S3C2410上移植后,就UCGUI在UC/OS-II上整合移植进行了重点阐述,归纳出整合移植的具体步骤,同时就在移植过程中关键部分给以详细介绍,最后给出一个多任务窗口的测试范例。 关键字:uCGUI;uC/OS-IIS3C2410;嵌入式系统;移植 中图分类号:TN929.5 文献标识码:A 文章编号:1001-7437(2004)00-00-00 uC/OS-II是Micrium公司专为微控制器系统和软件开发而设计的抢占式的实时多任务操作系统微内核,经过十几年的发展,已经在众多领域的应用中取得了成功。就uC/OS-II本身而言,它仅仅是一个内核,还不能直接用于一个具体的工程项目,还必须与其它一些模块如TCP / IP、文件系统(FS)、图形界面(GUI)等等整合,其中图形界面(GUI)是一个成熟的工程产品不可缺少的部分。目前较为流行的嵌入式GUI有miroWindows, MiniGUI , QT/Embedded, OpenGUI, ucGUI等, 而基于uC/OS-II平台的用的较多的是uCGUI。uCGUI是Micrium开发的一种基于嵌入式系统的图形界面支持系统.可以用于任何使用LCD图形显示的应用,提供高效的独立于处理器及LCD控制器的图形用户接口,可以在单任务或是多任务系统上运行, 并适用于任意LCD控制器和CPU下任何尺寸的真实显示或虚拟显示。 本文研究的uCGUI和uC/OS-II在S3C2410上的移植整合,不涉及文件系统的移植,后面论述的重点由以下几个部分组成,第一部分简要的介绍uC/OS-II在S3C2410上移植,第二部分介绍基于uC/OS-II的uCGUI的移植,第三部分给出一个测试用例。 uC/OS-II在S3C2410上的移植 uC/OS-II在S3C2410上的移植主要包括两个部分的代码配置或者编写:第一部分与应用相关的配置,体现在对OS_CFG.H和INCLUDES.H配置上;第二部分与特定处理器(这里指S3C2410) 相关的代码编写,体现在OS_CPU.H,OSCUP_A.ASM OS_CPU_C.C编写上。这两部分代码的正确的配置与编写,只能确保基于S3C2410的uC/OS-II微内核代码形成,并不能立即烧入目标板运行,要在目标板上运行,必须还要编写目标板初始化引导程序,初始化引导程序主要实现硬件初始化、内存映射(S3C2410不支持二次映射)、中断向量初始化、系统堆栈空间的分配、 等功能,以引导uC/OS-II的正确运行。 在上述移植过程完成后,需要测试内核是否能够正常运行,测试是一个系统的工程,具体细节的工作在文献[1]有具体的介绍,由于现在互连网上可以搜到很多有关于uC/OS-II在S3C2410移植的范例,参考这些移植源代码,可以将测试工作大大的简化,只需注意OSStart(), OSTickISR()函数调用的先后顺序。必须在开始多任务后(调用OSStart()后),然后再启动时钟节拍中断(调用OSTickISR()),由于OSStart()不返回,所以不应将OSTickISR()与OSStart()置于同一主函数当中,通常的做法是,将OSTickISR()方在第一个任务的首句位置,这样就可以确保它们执行的先后顺序。 uCGUI在S3C2410上的移植 uC/OS-II和uCGUI在S3C2410上的整合移植主体上遵循以下流程,首先是针对使用的液晶屏的S3C2410内部的液晶屏控制器的初始化,构造uCGUI的运行环境,在此基础上修改和配置ucGUI的一些文件和函数使得ucGUI在目标上的正确运行。 2.1 S3C2410内部液晶屏控制器初始化 移植GUI的前提条件是液晶屏能够被正常驱动,为此需要实现液晶屏控制器的初始化,试验采用的是液晶屏为分辨率640*480的真彩TFT屏,S3C2410内部有专门针对TFT类型液晶屏的控制器,该控制器支持1、4、8调色板显示模式和16、24真彩显示模式的驱动,考虑后面的移植过程,这里采用16位真彩模式驱动。试验采用的目标板是采用完全总线结构与液晶屏互联的,在完全地址总线配置中,CPU可以直接像访问外部内存一样访问图像存储区域,符合具有高分辨率的显示屏的大量数据的频繁的读写要求。这里的图像存储区域是内存当中指定的,该存储区域的大小与图像分辨率,每个图像占用的字节空间相关。液晶屏初始化的具体程序可以参考三星公司演示版的LCD初始化程序。当可以使用输出直线函数或点函数(这两个函数可以的具体实现同样可以

文档评论(0)

sy78219 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档