ucosII嵌入式实时操作系统实验

ucosII嵌入式实时操作系统实验

ID:41064060

大小:452.50 KB

页数:20页

时间:2019-08-15

ucosII嵌入式实时操作系统实验_第1页
ucosII嵌入式实时操作系统实验_第2页
ucosII嵌入式实时操作系统实验_第3页
ucosII嵌入式实时操作系统实验_第4页
ucosII嵌入式实时操作系统实验_第5页
资源描述:

《ucosII嵌入式实时操作系统实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、嵌入式实时操作系统实验报告多任务的创建及运行系别计算机与电子系专业班级电子0901班学生姓名高傲指导教师黄向宇提交日期2012年4月1日一、实验目的1.熟悉并掌握基于uC/OS-II的开发工具、工程管理工具2.了解uC/OS-II的文件结构、文件之间的依赖关系。3.掌握创建多任务的方法及对任务进行相关操作的技巧。二、实验内容1.建立并熟悉BorlandC编译及调试环境2.使用课本配套光盘中的例程运行并修改,观察多任务的运行状态,尝试对其中的任务进行挂起并恢复、删除及查询等操作,观察运行结果.3.完成课后练习题,P92页13-17题,至少完成其中任意两题。三、实验原理1.编译环境Turb

2、oC是Borland公司开发的DOS下16位C语言集成开发工具。有2.0和3.0版本,2.0只支持C语言编译不支持鼠标操作,而3.0版本可以支持C/C++两种语言编译,而且还支持鼠标和//注释方式;TC2.0是80年代开发的,使用了很多年一直到现在WINDOWS系统才逐渐退出舞台。TurboC2.0不仅是一个快捷、高效的编译程序,同时还有一个易学、易用的集成开发环境。使用TurboC2.0无需独立地编辑、编译和连接程序,就能建立并运行C语言程序。因为这些功能都组合在Turbo2.0的集成开发环境内,并且可以通过一个简单的主屏幕使用这些功能。一个工程中的源文件不计其数,其按类型、功能、模

3、块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,VisualC++的nmake,Linux下GNU的make。nMake工具最主要也是最

4、基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。n而makefile文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。nmakefile文件是许多编译器--包括WindowsNT下的编译器--维护编译信息的常用方法,只是在集成开发环境中,用户通过友好的界面修改makefile文件而已。2.uC/OS-II文件体系uC/OS-II包括三个部分:1)核心代码部分,这部分代码与处理器无关,包括七个源代码文件和一个头文件,这七个源代码文件负责的功能分别是内核管理、事件管理、消息队列管理、存储管

5、理、消息管理、信号量处理、任务调度和定时管理。2)设置代码部分,包括两个头文件,用来配置事件控制块的数目以及是否包含消息管理相关代码等。3)处理器相关的移植代码部分,这部分包括一个头文件,一个汇编文件和一个C代码文件,在uC/OS-II的移植过程中,用户所需要关注的就是这部分文件。3.uC/OS-II任务的创建,OSTaskCreate()想让µC/OS-Ⅱ管理用户的任务,用户必须要先建立任务。用户可以通过传递任务地址和其它参数到以下两个函数之一来建立任务:OSTaskCreate()或OSTaskCreateExt()。OSTaskCreate()与µC/OS是向下兼容的,OSTas

6、kCreateExt()是OSTaskCreate()的扩展版本,提供了一些附加的功能。用两个函数中的任何一个都可以建立任务。任务可以在多任务调度开始前建立,也可以在其它任务的执行过程中被建立。在开始多任务调度(即调用OSStart())前,用户必须建立至少一个任务。任务不能由中断服务程序(ISR)来建立。OSTaskCreate()的代码如程序清单L4.1所述。从中可以知道,OSTaskCreate()需要四个参数:task是任务代码的指针,pdata是当任务开始执行时传递给任务的参数的指针,ptos是分配给任务的堆栈的栈顶指针(参看4.02,任务堆栈),prio是分配给任务的优先级

7、。程序清单L4.1OSTaskCreate()INT8UOSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK*ptos,INT8Uprio){void*psp;INT8Uerr;if(prio>OS_LOWEST_PRIO){(1)return(OS_PRIO_INVALID);}OS_ENTER_CRITICAL();if(OSTCBPrioTbl[prio]==(OS_TCB*)0){(2)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。