《21世纪高等学校嵌入式系统专业规划教材:嵌入式操作系统μC/OS-Ⅱ及应用开发》以理论为核心,以实用为导向,最大的特色就是将μC/OS-Ⅱ操作系统的原理和应用有机地融合到这一本书中,使学生既能掌握理论,又能懂得应用。
本书先介绍了PC上μC/OS-Ⅱ的开发环境BC45,在这个环境下演示一个μC/OS-Ⅱ的实例,使读者从整体上理解μC/OS-Ⅱ。然后从操作系统的原理上详细讲述μC/OS-Ⅱ这个实时操作系统的实现原理,对其中的内核、任务的管理、任务的同步和通信、时钟和中断进行了详细的论述,理论讲述后附有该理论的实验例程及实现方法。最后介绍了μC/OS-Ⅱ的移植方法,并从应用的角度描述了一个基于μC/OS-Ⅱ的综合开发案例,使读者在应用开发中真正会用μC/OS-Ⅱ,掌握μC/OS-Ⅱ的应用技巧。
本书适合作为嵌入式系统原理及应用的学习教材,同时适合作为高等院校计算机相关专业嵌入式操作系统教材或参考书,适合相关学科的本、专科学生、高职高专及成教类学生阅读,也可供嵌入式操作系统应用开发人员参考。
μC/OS-II是一种可移植的、可裁剪的、抢占式的、典型的实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。
嵌入式操作系统是与应用紧密结合的,脱离实际应用去讲述嵌入式操作系统,学生不容易明白如何去使用这样的操作系统,如何在这样的操作系统上进行应用程序的开发,那么就失去了学习这些理论的意义。
本书将嵌入式操作系统的原理与典型的嵌入式操作系统μC/OS-II结合起来,并给出应用的实例,使得学生在学习理论的同时掌握了应用,既提高了学生的实际动手能力,又满足了应用型计算机人才培养的需要。
本书具有以下特色和价值。
(1)具有结构优化、内容精炼、重点突出的优点,强调原理与典型的嵌入式操作系统μC/OS-II结合,并给出应用的实例。
(2)教材中介绍了目前广泛使用的、成熟的新技术,较好地体现了课程内容的先进性。
(3)教材每章配有恰当的应用实例,着眼于提高学生分析问题和解决问题的能力,较好地体现了课程教学的实用性,着眼于提高学生对嵌入式操作系统的开发与设计能力。
(4)本教材所有的程序均由C语言给出,体现了软件的可移植性。
(5)教材配有电子教案,学生可从教学网站(http://210.30.208.205/homepage/common/ index_jpk.jsp)和从清华大学出版社的网站(www.tup.com.cn)上下载,以方便学生课后的学习和复习。
本书第1~3章由王晓薇和姜岩编写,第5~7章由孙静编写,第4、第8、第9章由刘天华和侯锟编写,第10章和附录由张勇编写,全书由王晓薇和孙静统稿。
在本书的编写和使用过程中,得到了许多教师和同行的帮助,在此表示感谢。还要感谢清华大学出版社,有了出版社的大力支持才使本书能够很快与读者见面。本书还参考和引用了有关方面的书籍,其来源都在参考文献中列出,在此对有关作者表示感谢。
限于编者的学识水平,本书中难免有疏漏和不当之处,敬请广大同行及读者指正。同时也欢迎读者,尤其是采用本书进行教学的教师和学生,共同探讨相关教学内容、教学方法等问题。敬请广大师生和读者通过电子信箱与编者联系。
本书所用的免费软件开发工具和教材中的开发实例可到清华大学出版社网站下载,或通过邮箱联系。
编者
2012年6月
第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-Ⅱ概述
1.4.1 μC/OS-Ⅱ的特点
1.4.2 μC/OS-Ⅱ的文件结构
小结
习题
第2章 μC/OS-Ⅱ的入门知识
2.1 开发工具
2.1.1 Hello World程序
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-Ⅱ”
小结
习题
第3章 μC/OS-Ⅱ的内核结构
3.1 μC/OS-Ⅱ任务的描述
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-Ⅱ的任务调度
3.3 μC/OS-Ⅱ的系统任务
3.3.1 空闲任务
3.3.2 统计任务
3.4 μC/OS-Ⅱ的初始化和任务的启动
3.4.1 μC/OS-Ⅱ的初始化
3.4.2 μC/OS-Ⅱ的启动
小结
习题
第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-Ⅱ的中断
5.2.1 μC/OS-Ⅱ的中断服务子程序ISR
5.2.2 μC/OS-Ⅱ的中断级的任务切换
……
第6章 时间管理
第7章 任务的同步与通信
第8章 内存管理
第9章 μC/OS-Ⅱ在ARM7上移植
第10章 室内智能节电综合监控系统设计
附录 配置手册
参考文献