第1章 操作系统基础知识 1
1.1 为什么要使用操作系统 1
1.2 操作系统的嵌入性和实时性 5
1.3 操作系统功能介绍 7
第2章 编写操作系统前的预备知识 9
2.1 Cortex-M3内核的基本结构 9
2.2 Thumb-2汇编语言简介 13
2.3 函数间调用标准 22
2.4 开发环境介绍 30
第3章 编写Wanlix操作系统 33
3.1 Wanlix的文件组织结构 33
3.2 两个固定任务间的切换 36
3.2.1 原理介绍 37
3.2.2 程序设计及编码实现 39
3.2.3 功能验证 48
3.3 多个任务间的切换 51
3.3.1 原理介绍 51
3.3.2 程序设计及编码实现 51
3.3.3 功能验证 55
3.4 用户程序入口——根任务 58
3.4.1 原理介绍 58
3.4.2 程序设计及编码实现 59
3.4.3 功能验证 60
3.5 增加任务入口参数 61
3.5.1 原理介绍 61
3.5.2 程序设计及编码实现 62
3.5.3 功能验证 65
3.6 发布Wanlix操作系统 68
3.7 编写交通路口红绿灯控制系统 70
3.7.1 功能介绍 70
3.7.2 程序设计及编码实现 72
3.7.3 功能演示 74
第4章 编写Mindows操作系统 76
4.1 Mindows的文件组织结构 76
4.2 定时器触发的实时抢占调度 78
4.2.1 原理介绍 78
4.2.2 程序设计及编码实现 81
4.2.3 功能验证 135
4.3 实时事件触发的实时抢占调度 139
4.3.1 原理介绍 139
4.3.2 程序设计及编码实现 140
4.3.3 功能验证 165
4.4 任务切换钩子函数 169
4.4.1 原理介绍 169
4.4.2 程序设计及编码实现 170
4.4.3 功能验证 174
4.5 任务创建和任务删除钩子函数 178
4.5.1 原理介绍 179
4.5.2 程序设计及编码实现 179
4.5.3 功能验证 186
4.6 任务自结束 189
4.6.1 原理介绍 189
4.6.2 程序设计及编码实现 189
4.6.3 功能验证 190
4.7 从堆申请任务栈 192
4.7.1 原理介绍 192
4.7.2 程序设计及编码实现 193
4.7.3 功能验证 198
4.8 二进制信号量 199
4.8.1 原理介绍 200
4.8.2 程序设计及编码实现 201
4.8.3 功能验证 221
4.9 计数信号量 229
4.9.1 原理介绍 229
4.9.2 程序设计及编码实现 230
4.9.3 功能验证 238
4.10 互斥信号量 240
4.10.1 原理介绍 240
4.10.2 程序设计及编码实现 242
4.10.3 功能验证 251
4.11 队列 254
4.11.1 原理介绍 254
4.11.2 程序设计及编码实现 254
4.11.3 功能验证 258
4.12 在Mindows上编写俄罗斯方块游戏 262
4.12.1 功能介绍 262
4.12.2 程序设计及编码实现 263
4.12.3 功能演示 266
第5章 Mindows可裁剪的功能 268
5.1 任务优先级继承 268
5.1.1 原理介绍 268
5.1.2 程序设计及编码实现 270
5.1.3 功能验证 275
5.2 同等优先级任务轮转调度 278
5.2.1 原理介绍 279
5.2.2 程序设计及编码实现 279
5.2.3 功能验证 283
5.3 记录任务切换信息 286
5.3.1 原理介绍 287
5.3.2 程序设计及编码实现 287
5.3.3 功能验证 294
5.4 任务栈统计 308
5.4.1 原理介绍 308
5.4.2 程序设计及编码实现 309
5.4.3 功能验证 311
5.5 CPU占有率 316
5.5.1 原理介绍 316
5.5.2 程序设计及编码实现 317
5.5.3 功能验证 322
5.6 发布Mindows操作系统 326
5.7 编写基于Mindows的嵌入式软件平台 327
5.7.1 嵌入式软件系统结构 327
5.7.2 结构设计 330
5.7.3 应用实例 372
第6章 使用不同操作系统编写多任务程序 396
6.1 程序结构介绍 396
6.2 使用Mindows操作系统编写程序 397
6.3 使用μCos操作系统编写程序 403
6.4 使用Windows操作系统编写程序 406
6.5 使用Linux操作系统编写程序 418
第7章 浅析进程 420
7.1 单进程工作原理 420
7.2 使用单进程模拟多进程 422
7.3 多进程工作原理 436
附录A Wanlix操作系统接口函数 439
A.1 接口函数列表 439
A.2 接口函数说明 439
附录B Mindows操作系统接口函数 441
B.1 接口函数列表 441
B.2 接口函数说明 442
参考文献 456