第1章 嵌入式操作系统概述 1
1.1操作系统概述 1
1.1.1操作系统的作用 1
1.1.2操作系统的特征 2
1.1.3操作系统的发展 2
1.2操作系统的体系结构 3
1.2.1层次结构 3
1.2.2微内核结构 4
1.3嵌入式操作系统概述 5
1.3.1嵌入式操作系统的演变 5
1.3.2嵌入式操作系统的特点 6
1.3.3嵌入式操作系统与通用操作系统的区别 7
1.4嵌入式实时操作系统μC/OS-Ⅱ概述 8
1.4.1 μC/OS-Ⅱ的特点 8
1.4.2 μC/OS-Ⅱ的文件结构 9
小结 10
习题 11
第2章μC/OS-Ⅱ的入门知识 12
2.1开发工具 12
2.1.1 Hello World程序 12
2.1.2 BCC编译器 14
2.1.3 TLINK链接器 18
2.1.4 TASM汇编语言编译器 19
2.2 make和makefile 20
2.2.1简单makefile的书写规则 20
2.2.2 make命令 22
2.3初识μC/OS-Ⅱ 24
小结 33
习题 33
第3章μC/OS-Ⅱ的内核结构 34
3.1 μC/OS-Ⅱ任务的描述 34
3.1.1任务的定义 34
3.1.2任务的基本状态 36
3.1.3任务控制块 38
3.1.4任务堆栈 43
3.2任务调度 45
3.2.1基本概念 45
3.2.2调度的时机 48
3.2.3操作系统常用的调度算法 49
3.2.4实时系统中的调度 50
3.2.5 μC/OS-Ⅱ的任务调度 51
3.3 μC/OS-Ⅱ的系统任务 60
3.3.1空闲任务 60
3.3.2统计任务 61
3.4 μC/OS-Ⅱ的初始化和任务的启动 64
3.4.1 μC/OS-Ⅱ的初始化 64
3.4.2 μC/OS-Ⅱ的启动 67
小结 68
习题 69
第4章 任务管理 70
4.1任务的基本操作 70
4.1.1任务创建 70
4.1.2任务删除 74
4.1.3任务挂起与恢复 76
4.1.4其他任务管理函数 78
4.2应用举例 81
4.2.1任务的状态转变举例 81
4.2.2堆栈功能检测应用举例 87
小结 93
习题 94
第5章 中断管理 95
5.1中断概述 95
5.1.1中断的基本概念 95
5.1.2中断处理过程 96
5.1.3中断评价指标 97
5.2 μC/OS-Ⅱ的中断 98
5.2.1 μC/OS-Ⅱ的中断服务子程序ISR 98
5.2.2 μC/OS-Ⅱ的中断级的任务切换 100
小结 101
习题 101
第6章 时间管理 102
6.1时钟 102
6.1.1时钟硬件 102
6.1.2时钟软件 103
6.1.3系统时钟 104
6.2时钟中断服务程序 104
6.3 μC/OS-Ⅱ的时钟 105
6.3.1 μC/OS-ⅡⅡ的时钟中断服务子程序ISR 105
6.3.2时钟节拍函数OSTimeTick() 106
6.3.3时钟节拍任务 107
6.3.4时钟节拍中断服务子程序举例 107
6.4 μC/OS-ⅡⅡ时间管理 114
6.4.1 μC/OS-Ⅱ时间管理的基本操作 114
6.4.2 μC/OS-Ⅱ时间管理应用举例 116
小结 122
习题 123
第7章 任务的同步与通信 124
7.1同步和通信的基本概念 124
7.1.1竞争条件 124
7.1.2同步与通信 125
7.1.3共享资源 126
7.1.4可重入函数 126
7.1.5临界区 127
7.1.6 μC/OS-Ⅱ的临界区 128
7.2任务通信的数据结构——事件控制块 129
7.2.1事件 129
7.2.2事件控制块ECB 130
7.2.3空事件控制块链表 133
7.2.4事件控制块的操作 134
7.3信号量 135
7.3.1信号量概述 135
7.3.2 μC/OS-Ⅱ信号量的数据结构 135
7.3.3信号量的操作 136
7.3.4信号量应用举例 142
7.4互斥型信号量 145
7.4.1互斥型信号量概述 145
7.4.2互斥型信号量的数据结构 146
7.4.3互斥型信号量的操作 146
7.4.4优先级反转 152
7.4.5优先级反转应用举例 154
7.5事件标志组 162
7.5.1事件标志组概述 162
7.5.2事件标志组的数据结构 164
7.5.3事件标志组的操作 165
7.5.4事件标志组应用举例 171
7.6消息邮箱 176
7.6.1消息邮箱概述 176
7.6.2消息邮箱的数据结构 176
7.6.3消息邮箱的操作 177
7.6.4消息邮箱应用 182
7.7消息队列 187
7.7.1消息队列概述 187
7.7.2消息队列的数据结构 188
7.7.3消息队列的操作 189
7.7.4消息队列应用举例 196
小结 202
习题 202
第8章 内存管理 203
8.1分区内存管理技术 203
8.1.1单一分区内存管理 203
8.1.2固定大小的多分区管理 204
8.1.3动态分区管理 204
8.2实时系统的内存管理 206
8.2.1存储管理原理 206
8.2.2动态内存管理的方法 207
8.3 μC/OS-Ⅱ内存管理 209
8.3.1 μC/OS-Ⅱ内存管理概述 209
8.3.2 μC/OS-Ⅱ内存管理的数据结构 210
8.4 μC/OS-Ⅱ内存管理的基本操作 211
8.5 μC/OS-Ⅱ内存管理应用举例 215
小结 222
习题 222
第9章μC/OS-Ⅱ在ARM7上移植 223
9.1 μC/OS-Ⅱ移植的条件 223
9.2编译器的选择 225
9.3移植 226
9.3.1 OS_CPU.H文件 226
9.3.2 OS_CPU_C.C文件 227
9.3.3 OS_CPU_A.ASM文件 232
9.4移植测试 240
9.4.1确保C编译器、汇编编译器及链接器正常工作 240
9.4.2 μC/OS-ⅡⅡ操作系统基础上实现多任务机制 243
小结 245
习题 245
第10章 室内智能节电综合监控系统设计 246
10.1室内智能节电综合监控系统简介 246
10.2系统功能需求与性能指标 246
10.3系统方案设计 247
10.4系统硬件结构设计 248
10.5系统软件设计 249
10.5.1 μtC/OS-Ⅱ在LPC 1768微处理器上的移植 249
10.5.2基于μC/OS-Ⅱ的任务的划分和设计 254
小结 260
附录 配置手册 261
参考文献 269