- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实时操作系统实验指导书京江本科版
实时操作系统实验指导书
京江本科版
计算机工程系
2009-03-04实时操作系统实验指导书
第一部分 实验系统简介 2
1 μC/OS-II概述 2
2 μC/OS-II的特点 2
3 μC/OS-II主要源代码文件和实验目录介绍 3
4 实验平台的配置 4
5 样例实验 5
第二部分 基于PC的uCOS-II实验 6
实验一 任务编程实验 6
实验二 任务管理实验 7
实验三 信号量编程实验 9
实验四 消息编程实验 10
实验五 邮箱编程实验 11
参考设计源程序文档 13
第一部分 实验系统简介
1 μC/OS-II概述
μC/OS-II是一个完整的,可移植、固化、剪裁的占先式实时多任务内核。μC/OS-II是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。至今,从8位到64位,μC/OS-II已经在40多种不同架构的微处理器上使用。世界上已经有数千人在各个领域中使用μC/OS,这些领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。
μC/OS-II和μC/OS版本V1.11(μC/OS的最终版本)是向上兼容的,且改进了很多。如果应用程序是基于μC/OS的,不需要做什么改动就可以在μC/OS-II上运行。
实验将提供μC/OS-II的全部源代码,大约5500行。CPU相关的部分使用的是Intel80x86微处理器的代码,运行在实模式下,C编译器使用大模块方式。C编译器建议使用“Boland C/C++编译器国际版V4.51”,本实验中中使用BC3.1编译器进行编译。μC/OS-II是在PC上开发的,因此在PC机运行Windows 95,98,2000,Me,NT和XP上都能运行。实验中提供的例子是在Windows环境下的DOS窗口内运行的。虽然μC/OS-II是在PC机上开发和测试的,但是μC/OS-II的实际对象是嵌入式系统,并且很容易移植到不同架构的微处理器上。
2 μC/OS-II的特点
1)有源代码: 实验将提供μC/OS-II的全部源代码(约5500行)。该源码清晰易读,结构协调,且注解详尽,组织有序;
2)可移植性(portable): μC/OS-II的源代码绝大部分是用移植性很强的ANSI C写的,与微处理器硬件相关的部分是用汇编语言写的。μC/OS-II可以移植到许许多多不同的微处理器上,条件是:该微处理器具有堆栈指针,具有CPU内部寄存器入栈、出栈指令,使用的C编译器必须支持内嵌汇编,或者该C语言可扩展和可链接汇编模块,使得关中断和开中断能在C语言程序中实现;
3)可固化(ROMable): μC/OS-II是为嵌入式应用而设计的,意味着只要具备合适的系列软件工具(C编译、汇编、链接以及下载/固化)就可以将μC/OS-II嵌入到产品中作为产品的一部分;
4)可裁减(scalable): 可以只使用μC/OS-II中应用程序需要的系统服务。可裁减性是靠条件编译实现的,只需要在用户的应用程序中定义那些μC/OS-II中的功能应用程序需要的部分就可以了;
5)可剥夺性(preemptive): μC/OS-II是完全可剥夺型的实时内核,即μC/OS-II总是运行就绪条件下优先级最高的任务;
6)多任务: μC/OS-II可以管理64个任务,用优先级位图方法实现任务队列管理。赋予每个任务的优先级必须是不相同的,这就是说μC/OS-II不支持时间片轮转调度法(该调度法适用于调度优先级平等的任务);
7)可确定性: 绝大多数μC/OS-II的函数调用和服务的执行时间具有可确定性。也就是说用户能知道μC/OS-II的函数调用与服务执行了多长时间。进而可以说,除了函数OSTimeTick()和某些事件标志服务,μC/OS-II系统服务的执行时间不依赖于用户应用程序任务数目的多少;
8)任务栈: 每个任务都有自己单独的栈。μC/OS-II允许每个任务有不同的栈空间,以便压低应用程序对RAM的需求;
9)系统服务: μC/OS-II提供许多系统服务,比如信号量、互斥信号量、事件标志、消息邮箱、消息队列、时间管理等等;
10)中断管理: 中断可以使正在执行的任务暂时挂起。如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可以达255层;
11)稳定性和可靠性: μC/OS-II的每一种功能、每一个函数以及每一行代码都经过了考验和测试,具有足够的安全性与稳定性,能用于与人性命攸关、安全性条件极为苛刻的系统中。
3 μC/OS-II主要源代码文件和实验目录介绍
当把实验源代码下载到C或D盘的根目录中,此时在相应盘符的根目录中变产生一个实验目录,例如“C:\JRTOS\Ex1”。在该目录中主要包含了μC
文档评论(0)