第一图书网

嵌入式操作系统μC/OS-II及应用开发

王晓薇 编 王晓薇 清华大学出版社 (2012-08出版)
出版时间:

2012-8  

出版社:

王晓薇 清华大学出版社 (2012-08出版)  

作者:

王晓薇 编  

页数:

268  

内容概要

  《21世纪高等学校嵌入式系统专业规划教材:嵌入式操作系统μC/OS-Ⅱ及应用开发》以理论为核心,以实用为导向,最大的特色就是将μC/OS-Ⅱ操作系统的原理和应用有机地融合到这一本书中,使学生既能掌握理论,又能懂得应用。  本书先介绍了PC上μC/OS-Ⅱ的开发环境BC45,在这个环境下演示一个μC/OS-Ⅱ的实例,使读者从整体上理解μC/OS-Ⅱ。然后从操作系统的原理上详细讲述μC/OS-Ⅱ这个实时操作系统的实现原理,对其中的内核、任务的管理、任务的同步和通信、时钟和中断进行了详细的论述,理论讲述后附有该理论的实验例程及实现方法。最后介绍了μC/OS-Ⅱ的移植方法,并从应用的角度描述了一个基于μC/OS-Ⅱ的综合开发案例,使读者在应用开发中真正会用μC/OS-Ⅱ,掌握μC/OS-Ⅱ的应用技巧。  本书适合作为嵌入式系统原理及应用的学习教材,同时适合作为高等院校计算机相关专业嵌入式操作系统教材或参考书,适合相关学科的本、专科学生、高职高专及成教类学生阅读,也可供嵌入式操作系统应用开发人员参考。

书籍目录

第1章 嵌入式操作系统概述 1.1 操作系统概述 1.1.1 操作系统的作用 1.1.2 操作系统的特征 1.1.3 操作系统的发展 1.2 操作系统的体系结构 1.2.1 层次结构 1.2.2 微内核结构 1.3 嵌入式操作系统概述 1.3.1 嵌入式操作系统的演变 1.3.2 嵌入式操作系统的特点 1.3.3 嵌入式操作系统与通用操作系统的区别 1.4 嵌入式实时操作系统μC/OS-II概述 1.4.1 μC/OS-II的特点 1.4.2 μC/OS-II的文件结构 小结 习题 第2章 μC/OS-II的入门知识 2.1 开发工具 2.1.1 Hello wbrld程序 2.1.2 BCC编译器 2.1.3 TLINK链接器 2.1.4 TASM汇编语言编译器 2.2 make和makefile 2.2.1 简单makefile的书写规则 2.2.2 make命令 2.3 初识μC/OS-II 小结 习题 第3章 μC/OS-II的内核结构 3.1 μC/OS-II任务的描述 3.1.1 任务的定义 3.1.2 任务的基本状态 3.1.3 任务控制块 3.1.4 任务堆栈 3.2 任务调度 3.2.1 基本概念 3.2.2 调度的时机 3.2.3 操作系统常用的调度算法 3.2.4 实时系统中的调度 3.2.5 μC/OS-II的任务调度 3.3 μC/OS-II的系统任务 3.3.1 空闲任务 3.3.2 统计任务 3.4 μC/OS-II的初始化和任务的启动 3.4.1 μC/OS-II的初始化 3.4.2 μC/OS-II的启动 小结 习题 第4章 任务管理 4.1 任务的基本操作 4.1.1 任务创建 4.1.2 任务删除 4.1.3 任务挂起与恢复 4.1.4 其他任务管理函数 4.2 应用举例 4.2.1 任务的状态转变举例 4.2.2 堆栈功能检测应用举例 小结 习题 第5章 中断管理 5.1 中断概述 5.1.1 中断的基本概念 5.1.2 中断处理过程 5.1.3 中断评价指标 5.2 μC/OS-II的中断 5.2.1 μC/OS-II的中断服务子程序ISR 5.2.2 μC/OS-II的中断级的任务切换 小结 习题 第6章 时间管理 6.1 时钟 6.1.1 时钟硬件 6.1.2 时钟软件 6.1.3 系统时钟 6.2 时钟中断服务程序 6.3 μC/OS-II的时钟 6.3.1 μC/OS-II的时钟中断服务子程序ISR 6.3.2 时钟节拍函数OSTimeTick() 6.3.3 时钟节拍任务 6.3.4 时钟节拍中断服务子程序举例 6.4 μC/OS-II时间管理 6.4.1 μC/OS-II时间管理的基本操作 6.4.2 μC/OS-Il时间管理应用举例 小结 习题 第7章 任务的同步与通信 7.1 同步和通信的基本概念 7.1.1 竞争条件 7.1.2 同步与通信 7.1.3 共享资源 7.1.4 可重入函数 7.1.5 临界区 7.1.6 μC/OS-II的临界区 7.2 任务通信的数据结构——事件控制块 7.2.1 事件 7.2.2 事件控制块ECB 7.2.3 空事件控制块链表 7.2.4 事件控制块的操作 7.3 信号量 7.3.1 信号量概述 7.3.2 μC/OS-II信号量的数据结构 7.3.3 信号量的操作 7.3.4 信号量应用举例 7.4 互斥型信号量 7.4.1 互斥型信号量概述 7.4.2 互斥型信号量的数据结构 7.4.3 互斥型信号量的操作 7.4.4 优先级反转 7.4.5 优先级反转应用举例 7.5 事件标志组 7.5.1 事件标志组概述 7.5.2 事件标志组的数据结构 7.5.3 事件标志组的操作 7.5.4 事件标志组应用举例 7.6 消息邮箱 7.6.1 消息邮箱概述 7.6.2 消息邮箱的数据结构 7.6.3 消息邮箱的操作 7.6.4 消息邮箱应用 7.7 消息队列 7.7.1 消息队列概述 7.7.2 消息队列的数据结构 7.7.3 消息队列的操作 7.7.4 消息队列应用举例 小结 习题 第8章 内存管理 8.1 分区内存管理技术 8.1.1 单一分区内存管理 8.1.2 固定大小的多分区管理 8.1.3 动态分区管理 8.2 实时系统的内存管理 8.2.1 存储管理原理 8.2.2 动态内存管理的方法 8.3 μC/OS-II内存管理 8.3.1 μC/OS-II内存管理概述 8.3.2 μC/OS-II内存管理的数据结构 8.4 μC/OS-II内存管理的基本操作 8.5 μC/OS-II内存管理应用举例 小结 习题 …… 第9章 μC/OS-II在ARM7上移植 第10章 室内智能节电综合监控系统设计 附录 配置手册 参考文献

章节摘录

版权页: 插图: 运行态(running):就绪的最高优先级的任务获得了CPU的控制权,从而处于运行态。任何时刻只能有一个任务处于运行态。当所有的任务都在等待事件发生或等待延迟时间的结束时,μC/OS-II执行系统的空闲任务,即OSTaskIdle()。 等待态(waiting):正在运行的任务由于两种情况使自身处于等待状态,一种情况是调用延时函数,另一种情况是任务因等待消息、邮箱或信号量等事件的到来而挂起。中断服务态(interrupt):除非该任务关中断,或者μC/OS-II将中断关闭,否则一旦产生中断,当前正在执行的任务将被挂起,中断服务子程序将控制CPU的使用权。中断服务子程序可能会通知一个或多个事件的发生,而使一个或多个任务进入就绪态。在这种情况下,从中断服务子程序返回之前,μC/OS-II要判断被中断的任务是否还是就绪任务表中优先级最高的。如果中断服务子程序使一个更高优先级的任务进入了就绪态,则新进入就绪态的更高优先级的任务将获得运行,否则原来被中断的任务将会继续运行。 2.任务状态的转换 任务在运行期间,不断地从一个状态转换到另一个状态,它可以多次处于就绪态、运行态、等待态、睡眠态和中断态。图3.2显示了任务转换的事件类型,下面阐述任务状态转换的原因。 睡眠态一就绪态:由睡眠态到就绪态的转换实际上是把任务交给μC/OS-II,是通过建立任务的两个函数实现的,即OSTaskCreat()或OS:P:askCreatExt()。 就绪态一运行态:调用OSStart()可以启动多任务。OSStart()只能在启动时调用一次,该函数运行用户初始化代码中已经建立的、进入就绪态的优先级最高的任务。如果中断服务子程序使另一个优先级更高的任务进入了就绪态,则在中断服务子程序结束返回时调用OSIntExit(),新进入就绪态的这个优先级更高的任务将得以运行,如果有优先级更高的任务被建立,则要发生任务切换OS-TASK swo,使新建的这个优先级高的任务获得CPU的控制权,进入运行态。 运行态一等待态:正在运行的任务将自身延迟一段时间,即通过调用OSTimeDlyC或OS7imeDlyHMSMO,使该任务由运行态进入等待态。正在运行的任务也可能需要等待某一事件的发生而挂起,如等待消息、邮箱或信号量等,通过调用OSFlagPend()、OSSemPen()、OSMutexPen()、OSMboxPen()、OSQPend()使任务由运行态进入等待态。事件的发生也可能来自中断服务子程序。 运行态一就绪态:正在运行的任务的CPU使用权被剥夺,则使该任务由运行态变成就绪态。


编辑推荐

《21世纪高等学校嵌入式系统专业规划教材:嵌入式操作系统μC/OS-II及应用开发》适合作为嵌入式系统原理及应用的学习教材,同时适合作为高等院校计算机相关专业嵌入式操作系统教材或参考书,适合相关学科的本、专科学生、高职高专及成教类学生阅读,也可供嵌入式操作系统应用开发人员参考。

图书封面

广告

下载页面


嵌入式操作系统μC/OS-II及应用开发 PDF格式下载



相关图书