欢迎来到天天文库
浏览记录
ID:14600997
大小:102.50 KB
页数:9页
时间:2018-07-29
《arm7的移植和游戏设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ARM7的移植和游戏设计俞建定叶军严洁卿【摘要】实时操作系统的使用,能够简化嵌入式系统的应用开发,有效地确保稳定性和可靠性,便于维护和二次开发。μC/OS-II是一个基于抢占式的实时多任务内核,可固化、可剪裁、具有高稳定性和可靠性,除此以外,μC/OS-II的鲜明特点就是源码公开,便于移植和维护。本文介绍如何将µC/OS-II操作系统移植到LPC2210,同时运用一种适用于uC/OS-II的图形界面——ZLG/GUI来实现贪食蛇游戏。【关键字】实时操作系统µC/OS-II,ZLG/GUI,LPC2100,移植
2、【Abstract】Theapplicationofthereal-timeoperationsystemcouldpredigestthedevelopmentprocessofEmbeddedsystem,andguaranteethestabilityandreliabilityofit,aswellasmakeiteasytomaintainandre-developtheembeddedsystem.μC/OS-IIisareal-timeandmultitaskkernelbasedonasoca
3、lled”anticipatedway”,itcouldbesolidifiedandcut,withveryhighstabilityandreliability.Besides,μC/OS-IIpublishesitsoriginalcode,andthisverytraitmakeitconvenientformigratingandmaintaining. thisarticledescribeshowtoMigratingonLPC2210singlechipprocessorsandintrodu
4、cestheprocessofprogrammingthegluttonysnakewithZLG/GUI,oneofGUI’sforuC/OS-II.【Keyword】TheReal-Timeoperationsystem,ZLG/GUI,LPC2100,Migrating一.引言当谈到进行嵌入式系统开发时,开发平台也是不可缺少的。开发平台通常具有多种功能和丰富的接口,用户只需要在上面进行应用程序开发就可以了,这样可以大大节约项目的开发周期,ARM7微处理器处理速度快、超低功耗、应用前景广泛、价格低廉,又由
5、于µC/OS-II采用C语言和汇编语言,其中绝大部分用C语言,结构非常简洁,同时µC/OS-II可移植性非常好,很容易就能被移植到各种微处理器上,而且在移植过程中,用户只需要做少量的工作即可,以及µC/OS-II具备了实时操作系统的全部性能,非常适合初次接触嵌入式技术的初学者和工作人员作为学习嵌入式技术使用。ZLG/GUI是一款嵌入式系统简易的图形用户界面,它提供了最基本的画点、线、圆形、圆弧、椭圆形、矩形、正方形和填充等功能,较高级的接口功能,由ASCII显示、汉字显示、图形显示、窗口和菜单等,支持单色、灰
6、度、伪彩和真彩等图形显示设备。二.移植µC/OS-II要移植一个操作系统到一个特定的CPU体系结构上并不是一件很容易的事情,它对移植者有以下要求:1.对目标体系机构要有很深的了解;2.对OS原理要有较深入的了解;3.对所使用的编译器要有较深入的了解;4.对需要移植的操作系统要有相当的了解;5.对具体适用的芯片也要有一定的了解;根据µC/OS-II的要求,移植µC/OS-II到一个新的体系结构上需要提供2个或3个文件:OS_CPU.H(C语言头文件)、OS_CPU_C.C(C程序源文件)及OS_CPU_A.AS
7、M(汇编程序源文件)。2.1编写应用程序移植µC/OS-II是为了在自己的系统使用µC/OS-II。要在自己的系统中使用µC/OS-II编写自己的应用程序,就必须遵守µC/OS-II的编程规范。下面的程序清单为应用程序的main()函数以及相关的代码,应用程序主函数:intmain(void){OSInit();OSTaskCreate(Task0,(void*)0,&TaskStk0[TaskStkLengh-1],3);//创建任务0KeyMbox=OSMboxCreate(NULL);//建立一个邮箱,
8、用于传递按键消息OSStart();return0;}在使用µC/OS-II提供的任何功能之前,必须调用函数OSInit(),它完成µC/OS-II的初始化并建立空闲任务,在开始多任务之前,必须建立至少一个用户任务(不包括µC/OS-II的空闲任务),这是通过调用函数OSTaskCreate()或函数OSTaskCreateExt()实现。最后函数main()调用函数OSStart()将控制权交给µ
此文档下载收益归作者所有