嵌入式系统设计-uCOS原理.pdf

  1. 1、本文档共105页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
uCOS原理及移植 u: Micro C:control uCOS : 适合于小的、控制器的操作系统小巧 公开源代码,详细的注解 可剥夺实时内核 可移植性强 多任务 确定性 1 概要 内核结构-任务以及调度机制 任务间通信 uC/OS的移植 在PC机上运行uC/OS 2 任务task 典型的一个无限循环。 void mytask(void *pdata) { for (;;) { do something; waiting; do something; } } 支持64个任务,每个任务一个特定的优先级。优先级越 高,数字越小 系统占用了两个任务,空闲任务和统计任务。 3 任务的数据结构—任务控制块 任务控制块 OS_tcb,包括 任务堆栈指针,状态,优先级,任务表位 置,任务链表指针等。 所有的任务控制块分为两条链表,空闲链表 和使用链表。 新任务TCB (1) TCB0 TCB1 TCBn next pre 空 (2) (3) OSTCBFreeList 图4.3 TCB 的双向链表结构 4 任务控制块结构 Struct os_tcb { OS_STK *OSTCBStkPtr; struct os_tcb *OSTCBNext; struct os_tcb *OSTCBprev; OS_EVENT *OSTCBEventPtr; void *OSTCBMsg; INT16U OSTCBDly; INT8U OSTCBStat; INT8U OSTCBPrio; INT8U OSTCBX, OSTCBY, OSTCBBitX, OSTCBBitY; } OS_TCB 5 任务的状态 6 任务的状态 OSTCBStat 运行,就绪,等待,挂起… OSTCBStat 低四位 挂起 队列邮箱信号量 可以有多个准备就绪的任务,但一个时刻只 有一个任务可以运行,OSHighRdy 7 任务的调度--OSSched uC/OS是占先式实时多任务内核,优先级最 高的任务一旦

文档评论(0)

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

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

1亿VIP精品文档

相关文档