- 5
- 0
- 约6.88千字
- 约 24页
- 2021-01-03 发布于天津
- 举报
《嵌入式实时操作系统原理与实践》 嵌入式实时操作系统 μC/OS原理与实践 教材:嵌入式实时操作系统 μC/OS 原理与实践 电子工业出版社 luyl@ 作者卢有亮 图书 PPT 和全部代码下载 /15441 第 5 章 消息管理 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5.1 消息邮箱 5.1.1 建立消息邮箱 5.1.2 等消息 5.1.3 发消息 5.1.4 删除消息邮箱 5.1.5 放弃邮箱等待 5.1.6 无等待请求消息 5.1.7 查询邮箱状态 5.1.8 消息邮箱的例子 5.2 消息队列 5.2.1 消息队列数据结构 5.2.2 初始化消息队列 5.2.3 建立消息队列 5.2.4 发消息到消息队列 5.2.5 等待消息队列中的消息 5.2.6 删除消息队列 5.2.7 取得消息队列的状态 5.2.8 消息队列应用举例 习题 ? 在信号量、互斥信号量和事件标志组的内 容结束后,读者对事件之间如何同步,如 何根据不同需要设计同步程序,应该有了 深入的理解和提高。本章的消息管理中包 括消息邮箱和消息队列两方面的内容,适 用于任务之间的信息交流和同步。从原理 上讲,消息管理也应该属于事件管理的范 畴 。 5.1 消息邮箱 消息邮箱是 μC/OS -II 中的另一种通信机制,可以使一个任务或者中断服务 子程序向另一个任务发送一个消息。传递这个消息的媒体是一个指针型变 量,该指针指向一个包含了“消息”的某种数据结构。 5.1.1 建立消息邮箱 在系统初始化之后,并不存在一个消息邮箱。这时操作系统中的事件管理 数据结构事件控制块 ECB 为全空,所有的事件控制块都在 ECB 空闲链 表中排队。消息邮箱的建立函数 OSMboxCreate 将使用一个并配置一 个 ECB ,使其具备消息邮箱的属性。 表 5.2 创建信号量函数 OSMboxCreate 解析 1. 检查是否这中断服务程序中创建消息邮箱。 同不允许在中断服务程序中创建信号量一样,操作系统 μC/OS -II 同样不允 许在中断服务程序中创建消息邮箱。 2. 检查是否有空闲的事件控制块。 将 OSEventFreeList 赋值给 pevent ,如果 pevent 为空指针,表示没有空闲的 事件控制块,函数返回。 3. 在事件控制块空闲链表中取下表头。 因为 pevent 现在已经是用于邮箱的事件控制块,读者可以直接把他理解为 一个邮箱。那么,需要执行的操作显然就是在事件控制块空闲链表中 将他删除 , 这时候 OSEventFreeList 应该指向第二个 ECB 。 4. 对事件控制块赋值 假设信号量值为 5 ,则赋值后的 ECB 应该如图 5-1 所示 5. 返回 ECB 地址。 5.1.2 等消息 开 始 参 数 检 查 是 否 通 过 是 将 邮 箱 中 的 消 息 地 址 送 p m s g p m s g 是 否 不 为 空 否 等消息也称为请求消息。含义是当消息存在的时候获取消息,当消息不存 置 位 O S T C B S t a t 中 等 待 消 息 标 志 在的时候就放弃对 CPU 的占有,直到有消息的时候才被唤醒。当任务后续 p e r r 中 填 写 对 应 的 出 错 信 息 的操作离不开消息,这时任务就不该死死占着 CPU 不让其他的任务运行, 存 储 超 时 时 间 到 就应该去休息,而当消息到来的时候系统会将消息唤醒回就绪态,任务获 O S T C B D l y 及 等 待 状 况 O S T C B S t a t P e n d 是 得消息后继续运行。 调 用 O S _ E v e n t T a s k W a i t 终 是 止 当 前 任 务 , E 解析 C B 事 件 表 5.3 等待消息邮箱函数 OSMboxPend 表 中 添 加 当 前 任 务 ★ 这 里 任 务 被 执 行 一 次 任 务 调 度 剥 夺 了 C P U ! 进 入 阻 塞 态 ! ★ ★ 这 里 任 务 又 一 次 被 调 度 了 ! 从 阻 塞 态 回 到 就 绪 态 又 被 调 度 是 调 用 O S _ E v e n t T a s k R e m o v e 清 除 任 务 块 相 关 等 待 标 志
您可能关注的文档
最近下载
- 内科住培基地工作汇报.pptx VIP
- 3.2.2 光合作用 课件生物学七年级下册(共30张PPT).pptx VIP
- 年产8000吨塑料颗粒项目环评环境影响报告表(新版环评).pdf VIP
- 山西省太原市2025-2026学年上学期期末八年级物理试卷及答案(含答案).pdf VIP
- 人教版高中物理选择性必修第三册期末复习全册知识点考点提纲.docx
- 2025年山东化工职业学院单招语文考试题库及答案解析.docx VIP
- 国外油藏描述及方案编制的启示.pptx VIP
- 精神科暴力行为防范与处理.pptx
- 2025年山东化工职业学院单招数学考试模拟试题及答案解析.docx VIP
- 2025-2026学年新教材高中生物期末综合检测卷新人教版必修1 .pdf VIP
原创力文档

文档评论(0)