- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
16 -
南京工程学院
《嵌入式系统设计及应用》
题 目:μC/OS-II任务间消息邮箱程序设计
班 级: 数控(卓越)131
姓 名: 朱雨杭
学 号: 203130501
指导教师: 徐友
2016年6月4日
目录
TOC \o 1-3 \h \u
1、μC/OS-II实时操作系统 -3 -
(1)、μC/OS-II简介 - 3 -
( 2)、μC/OS-II的组成 - 3 -
(3)、μC/OS-II操作系统任务 - 7 -
2、μC/OS-II消息邮箱设计 - 8 -
(1)、功能图 - 8 -
(2)、流程图及设计理念 - 9 -
(3)、 27587 程序清单 - 10 -
(4)、系统函数调用及说明 - 12 -
(5)、调试过程 - 13 -
(6)、调试结果 - 13 -
3、总结 - 13 -
μC/OS-II实时操作系统
μC/OS-II简介
uC/OSII是用C语言与汇编语言编写的,大部分的代码都是用C语言来写,只有少数的与处理器相关的部分代码,用汇编语言来写。
uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,具有移植方便,构思巧妙,结构简洁精练,执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB。uC/OS-II只是一个多任务并发的实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,并且移植性很强,可以方便的移植到现实中大量存在的8位单片机系统与16位甚至32位系统,这些非必须的功能完全可以由用户自己根据需要分别实现。
它的移植只与4个文件相关:汇编文件(OS_CPU_A.ASM)、处理器相关C文件(OS_CPU.H、OS_CPU_C.C)和配置文件(OS_CFG.H)。有64个优先级,系统占用8个,用户可创建56个任务,不支持时间片轮转。它的基本思路就是?“近似地每时每刻总是让优先级最高的就绪任务处于运行状态”?。为了保证这一点,它在调用系统API函数、中断结束、定时中断结束时总是执行调度算法。
μC/OS-II组成
μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。
1) 核心部分(OSCore.c):操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。
2) 任务处理部分(OSTask.c):任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。因为μC/OS-II是以任务为基本单位调度的,所以这部分内容也相当重要。
3) 时钟部分(OSTime.c):μC/OS-II中的最小时钟单位是timetick(时钟节拍)。任务延时等操作是在这里完成的。
4) 任务同步和通信部分:为事件处理部分,包括 信号量、邮箱、邮箱队列、事件标志等部分;主要用于任务间的互相联系和对 临界资源的访问。
5) 与CPU的接口部分:是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU的具体内容和要求作相应的移植。这部分内容由于牵涉到SP等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相关处理部分等内容。
μC/OS-II操作系统任务
任务管理:
uC/OS-II 中最多可以支持256个任务,分别对应优先级0~255,其中0 为最高优先级。255为最低级。uC/OS中最多可以支持64个任务,分别对应优先级0~63,其中0 为最高优先级。63为最低级。uC/OS-II提供了 任务管理的各种 函数调用,包括创建任务,删除任务,改变任务的优先级,任务挂起和恢复等。系统初始化时会自动产生两个任务:一个是空闲任务,它的优先级最低,该任务仅给一个整型变量做累加运算;另一个是系统任务,它的优先级为次低,该任务负责统计当前cpu的利用率。
时间管理:
uC/OS-II的时间管理是通过定时中断来实现的,该定时中断一般为10毫秒或100毫秒发生一次,时间频率取决于用户对 硬件系统的定时器 编程来实现。中断发生的时间间隔是固定不变的,该中断也成为一个时钟节拍。uC/OS-II要求用户在定时中断的服务程序中,调用系统提供的与时钟节拍相关的 系统函数,例如中
文档评论(0)