rtos_ucos-ii_原理及应用课件5

rtos_ucos-ii_原理及应用课件5

ID:34621262

大小:879.22 KB

页数:23页

时间:2019-03-08

rtos_ucos-ii_原理及应用课件5_第1页
rtos_ucos-ii_原理及应用课件5_第2页
rtos_ucos-ii_原理及应用课件5_第3页
rtos_ucos-ii_原理及应用课件5_第4页
rtos_ucos-ii_原理及应用课件5_第5页
资源描述:

《rtos_ucos-ii_原理及应用课件5》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式实时操作系统嵌入式实时操作系统μμC/OS-IIC/OS-II西安邮电学院----计算机系Tel:85383409(ZQL)Email:zql@xiyou.edu.cn2012-3-30西安邮电学院计算机系page1第5章信号量集2012-3-30西安邮电学院计算机系page2第5章目录1、信号量集的结构2、信号量集的操作2012-3-30西安邮电学院计算机系page3在实际应用中,任务常需要与多个事件同步。即需要根据多个逻辑信号量组合作用(逻辑运算)的结果来决定任务的运行方式。uC/OS-II中定义了一种特殊的数据结构-----信号量集,来专用于此类事务的管理。信号

2、量集分为“与信号量集”和“或信号量集”。“与”信号量集----当信号量集中所有信号量都“有效”时,该信号量集“有效”;“或”信号量集----当信号量集中有一个信号量为“有效”时,该信号量集“有效”;备注:有点类似组合电路中的---逻辑运算电路。2012-3-30西安邮电学院计算机系page4第5章目录1、信号量集的结构2、信号量集的操作2012-3-30西安邮电学院计算机系page55.1信号量集的结构一、信号量集由两部分组成:标志组----用于存放信号量集中的所有信号;等待任务链表----链表中的节点(Node)对应一个正在等待信号量集的等待任务(Task)。备注

3、:信号量集根据这个链表来管理等待任务。2012-3-30西安邮电学院计算机系page65.1信号量集的结构信号量集的组成:信号量集是由标志组、等待任务链表、任务控制块组成的关联数据结构;即信号量集=标志组+等待任务链表+等待任务控制块uC/OS-II基于这个关联数据结构实现信号量集管理。OS_FLAG_GRPOS_FLAG_NODEOS_FLAG_NODEOS_FLAG_NODEOSFlagTypeOSFlagNodeNextOSFlagNodeNextOSFlagNodeNext*OSFlagWaitListOSFlagNodePrevOSFlagNodePrevOSFlag

4、NodePrevOSFlagNodeTCBOSFlagNodeTCBOSFlagNodeTCBOSFlagFlagsOSFlagNodeFlagGrpOSFlagNodeFlagGrpOSFlagNodeFlagGrp101100111100OSFlagNodeWaitTypeOSFlagNodeWaitTypeOSFlagNodeWaitTypeOS_TCBOS_TCBOS_TCB信号量集结构图2012-3-30西安邮电学院计算机系page75.1信号量集的结构二、信号量集的标志组:uC/OS-II使用“标志组”的结构OS_FLAG_GRP来描述、管理信号量集。其结构定义如下

5、:typedefstruct{OS_FLAG_GRPINT8UOSFlagType;//信号量集类型OSFlagTypevoid*OSFlageWaitList;//等待任务链表指针*OSFlagWaitListOS_FLAGSOSFlagFlags;//当前信号量值表OSFlagFlags}OS_FLAG_GRP;2012-3-30西安邮电学院计算机系page85.1信号量集的结构三、关于(信号量标志组)OS_FLAG_GRP结构的说明:成员OSFlagType----是一个标识,用于标示这是一个信号量集结构;其值固定为OS_EVENT_TYPE_FLAG。成员*OSFl

6、ageWaitList----指针,指向等待本信号量集的“等待任务链表”。成员OSFlagFlags----是一个OS_FLAGS类型变量,用于存放信号量集所有信号量的状态,每个信号量占据1bit,‘1/0’---信号量有(无)效。备注:OS_FLAGS数据类型是在OS_CFG.H文件中定义的整型数。在ARM版的uC/OS-II中typedefINT16UOS_FLAGS;uC/OS-II初始化时,按照OS_CFG.H中的OS_MAX_FLAGS常数来创建含有OS_MAX_FLAGS个节点的标志组;用其指针成员构成“空信号量集标志组链表”,并系统变量OSFlagFree

7、List指向该链表。2012-3-30西安邮电学院计算机系page95.1信号量集的结构四、“等待任务链表”节点OS_FLAG_NODE:信号量集使用一个双向链表来组织等待任务,每个“等待任务”都是该链表中的一个节点。等待任务链表节点OS_FLAG_NODE结构如下(该结构定义在uCOS_II.H文件中):typedefstruct{/*EventFlagWaitListNode*/void*OSFlagNodeNext;/*PointertonextNODEinwaitlist*/void

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。