ucos-iii知识点总结.doc

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

1、其中最有用的功能应该是时间片轮转法( roundrobin), 这个是 uC/OS-II 中不支持的,但是现在已经是 uC/OS-III 的一个功能了 uC/OS-III 被设计用于 32 位处理器, 但是它也能在 16 位或 8 位处理器中很好地工作。一共有 2 种类型的实时系统:软实时系统和硬实时系统。硬实时系统中,运算超时是不允许发生的但是在软实时系统中 , 超时不会导致严重后果 包含一个无限循环的模块实现需要的操作(后台)。中断处理程序实现异步事件(前台)。前台也叫做中断级,后台也叫作任务级。 临界操作应该在任务级中被执行,不可避免地必须在中断处理程序中执行也要确保是在很短的时间内完成。 因为这会导致 ISR 占用更长的时间。 通常的, ISR 中使能相关的信息而在后台程序中执行相应的操作。 任务(也叫做线程) 是一段简单的程序, 运行时完全地占用 CPU 。在单 CPU 中,任何时候只有 1 个任务被执行。 内核的责任是管理任务,协调和切换多个任务依次享用 CPU 。让我们感觉是多个 CPU 在同时运行也有利于处理模块化的应用 也负责管理任务间的交流, 系统资源(内 和I/O )。 uC/OS-III 是一个抢占式内核, 这意味着 uC/OS-III 总是执行最 重要的就绪任务 ISR 响应中断请求设备, 但是 ISR 只做非常少的工作。 ISR 应该标记或发送消息到一个高优先级的任务, 让中断能够快速处理完毕 系统中加入内核需要额外的支出,因为内核提供服务时需要时间 去处理。内核占用 CPU 的时间介于 2% 到 4% 之间。 因为 uC/OS-III是一个软件,添加到目标系统中需要额外的 ROM 和 RAM 。 。 uC/OS-III 内核需要 1K 到 4K 之间的 RAM , 加上每个任务自己所需的堆栈空间。 至少有 4K 大小 RAM 的处理器才有可能成功移植 uC/OS-III 。 : uC/OS-III 允许多个任务拥有相同的优先级。 当多个相同优先级的任务就绪时, 并且这个优先级是目前最uC/OS-III 会分配用户定义的时间片给每个任务去运行。 每个任务可以定义不同的时间片 uC/OS-III 保护临界段可以通过锁定调度器代替关中断。 因此关中断的时间会非常少。这样就使 uC/OS-III 可以响应一些非常快的中断源了。 uC/OS-III 允许用户在运行时配置内核。特别的,所有的内核对象如任务、堆栈、信号量、事件标志组、消息队列、 消息、 互斥信号量、 内存分区、 软件定时器等都是在运行时分配的 , 以免在编译时的过度分配。 uC/OS-III 对任务数量无限制。每一个任务需要有自己的堆栈空间。实际上, 任务的数量限制于处理器能提供的内存大小。 uC/OS-III 支持任何数量的任务、信号量、 互斥信号量、 事件标志组、 消息队列、 软件定时器、 内存分区。 用户在运行时分配所有的内核对象。 互斥信号量用于资源管理。它是一个内置优先级的特殊类型信号量, 用于消除优先级反转。 互斥信号量可以被嵌套,因此,任务可申请同一个互斥信号量多达 250 次。当然, 互斥信号量的占有者需要释放同等次数。 : uC/OS-III 允许任务停止自身或者停止另外的任务。 停止一个任务意味着这个任务将不再执行直到被其他的任务复。 停止可以被嵌套到 250 级。 换句话说, 一个任务可以停止另外的任务多达 250 次。 当然, 这个任务必须被恢复同等次数才有资格再次获得 CPU 。 可以定义任意数量的一次性的、周期性的、或者两者兼有的定时器。 定时器是倒计时的, 执行用户定义的行为一直到计数减为 0 。 每一个定时器可以有自己的行为, 如果一个定时器是周期性的,计数减为 0 时会自动重装计数值并执行用户定义的行为。 : uC/OS-III 允许任务等待多个事件的发生等待中的任务在事件发生被唤醒 uC/OS-III 允许 ISR 或者任务直接地发送信号量给其它任务。 这样就避免了必须产生一个中间级内核对象如一个信号量或者事件标志组只为了标记一个任务。提高了内核性能。 :每一个任务可以拥有用户可定义的任务寄存器,不同于 CPU 寄存器。uC/OS-III 能检测指针是否为 NULL 、 在 ISR 中调用的 任务级服务是否允许、 参数在允许范围内、 配置选项的有效性、 函数的执行结果等。每一个 uC/OS-III 的 API 函数返回一个对应于函数调用结果的错误代号 : uC/OS-III 有内置性能测量功能。 能测量每一个任务的执行时间 , 每个任务的堆栈使用情况, 任务的执行次数, CPU的使用情况, ISR 到任务的切换时间 , 任务到任务的切换时间, 列表中的峰值数,关中断、锁调度器平均时间等。 uC

文档评论(0)

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

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

1亿VIP精品文档

相关文档