uCOS II简介uCS II简介.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
uCOS II简介uCS II简介

基本内容  uCOS II简介   u C / O S 是一种免费公开源代码、结构小巧、具有可剥夺实时内核的 HYPERLINK /v374755.htm?ch=ch.bk.innerlink实时操作系统 实时操作系统(Real Time Operating System,简称RTOS),高性能的 Windows实时扩展,最多可支持32个处理器的系统,127个线程优先级,微秒级中断延迟。支持实时以太网、HYPERLINK /v374755.htm?ch=ch.bk.innerlinkch=ch.bk.sl.fl更多 。   μC/OS-II 的前身是μC/OS,最早出自于1992 年美国HYPERLINK /v53418.htm?ch=ch.bk.innerlink嵌入式系统专家Jean J.Labrosse 在《嵌入式系统编程》杂志的5 月和6 月刊上刊登的文章连载,并把μC/OS 的源码发布在该杂志的B B S 上。   μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的, 绝大部分代码是用HYPERLINK /v15471.htm?ch=ch.bk.innerlinkC语言编写的。HYPERLINK /v76638.htm?ch=ch.bk.innerlinkCPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的HYPERLINK /v252765.htm?ch=ch.bk.innerlinkANSI 的C交叉编译器,有汇编器、连接器等HYPERLINK /v107856.htm?ch=ch.bk.innerlink软件工具,就可以将μC/OS-II嵌人到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点, 最小内核可编译至 2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。   严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,HYPERLINK /v738186.htm?ch=ch.bk.innerlink时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,HYPERLINK /v350108.htm?ch=ch.bk.innerlink文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。   uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如HYPERLINK /v398107.htm?ch=ch.bk.innerlink信号量,邮箱,消息队列,内存管理,中断管理等。   任务管理   uC/OS-II 中最多可以支持64 个任务,分别对应优先级0~63,其中0 为最高优先级。63为最低级,系统保留了4个最高优先级的任务和4个最低优先级的任务,所有用户可以使用的任务数有56个。   uC/OS-II提供了任务管理的各种函数调用,包括创建任务,删除任务,改变任务的优先级,任务挂起和恢复等。   HYPERLINK /v862917.htm?ch=ch.bk.innerlink系统初始化时会自动产生两个任务:一个是空闲任务,它的优先级最低,改任务仅给一个整形变量做累加运算;另一个是系统任务,它的优先级为次低,改任务负责统计当前cpu的利用率。   时间管理   uC/OS-II的时间管理是通过定时中断来实现的,该定时中断一般为10毫秒或100毫秒发生一次,时间频率取决于用户对硬件系统的定时器编程来实现。中断发生的时间间隔是固定不变的,该中断也成为一个时钟节拍。   uC/OS-II要求用户在定时中断的服务程序中,调用系统提供的与时钟节拍相关的系统函数,例如中断级的任务切换函数,系统时间函数。   内存管理   在ANSI C中是使用HYPERLINK /v126376.htm?ch=ch.bk.innerlinkmalloc和free两个函数来动态分配和释放内存。但在嵌入式HYPERLINK /v349812.htm?ch=ch.bk.innerlink实时系统中,多次这样的错作会导致内存碎片,且由于内存管理算法的原因,malloc和free的执行时间也是不确定。   uC/OS-II中把连续的大快内存按分区管理。每个分区中包含整数个大小相同的内存块,但不同分区之间的内存快大小可以不同。用户需要动态分配内存时,系统选择一个适当的分区,按块来分配内存。释放内存时将该块放回它以前所属的分区,这样能有效解决碎片问

文档评论(0)

zyongwxiaj8 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档