- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ucosii消息邮箱的使用
南京工程学院《嵌入式系统设计及应用》 题 目:μC/OS-II任务间消息邮箱程序设计班 级: 数控(卓越)131姓 名: 朱雨杭学 号: 203130501指导教师: 徐友 2016年6月4日目录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)、程序清单- 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要求用户在定时中断的服务程序中,调用系统提供的与时钟节拍相关的 系统函数,例如中断级的任务切换函数,系统时间函数。在ANSI C中是使用malloc和free两个函数来动态分配和释放内存。但在 嵌入式实时系统中,多次这样的操作会导致 内存碎片,且由于内存管理算法的原因,malloc和free的执行时间也是不确定。通信同步:uC/OS-II中把连续的大块内存按分区管理。每个分区中包含整数个大小相同的内
您可能关注的文档
- SiC碳化硅.ppt
- SDH学习.ppt
- SiC介绍.ppt
- SLV5010.doc
- SCR法脱硝.ppt
- SN10-10型高压少油断路器检修.ppt
- shanbeippt.ppt
- SOLAS公约小知识及船舶缺陷分析.doc
- SOP某知名酒店工程部标准运作和程序(doc 30).doc
- SMT综述.ppt
- 高三上学期10月月考数学试题.pdf
- 平面向量初步章末质量检测-2023-2024学年高一下学期数学人教A版(2019)必修第二册.docx
- 一文搞定圆锥曲线中的点差法讲义-2024-2025学年高二上学期数学人教A版(2019)选择性必修第一册.docx
- 1.4.充分条件与必要条件(一)课件-2024-2025学年高一上学期数学人教A版(2019)必修第一册.pptx
- 公司战略规划管理制度集团战略管理制度.docx
- 【幼儿园财务管理】会计档案管理制度.docx
- 活动方案青蓝工程实施方案.docx
- 中班教养工作总结.docx
- 某某小学“宪法进校园”教育活动方案.docx
- 外包劳务人员管理制度.docx
文档评论(0)