《嵌入式操作系统 组成、原理与应用设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:牛欣源编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302336563
  • 页数:317 页
图书介绍:本书深入分析实时操作内核构成、框架结构、运行机制、设计目标、性能指标等,基于实时操作系统内核研究嵌入式应用程序设计的理论和方法,并对开发实时应用系统嵌入式系统应用程序的基本原理和基本方法进行技术论述和实例验证。

第1章 嵌入式系统与嵌入式操作系统 1

1.1 嵌入式系统入门 1

1.1.1 系统与嵌入式系统 1

1.1.2 嵌入式应用系统 2

1.1.3 嵌入式系统结构 4

1.1.4 嵌入式计算机系统和通用计算机系统的比较 5

1.1.5 嵌入式系统功能与特征 6

1.2 嵌入式软件系统 7

1.2.1 软件和嵌入式软件 7

1.2.2 机器指令形式的可执行嵌入式软件 8

1.2.3 高级语言形式的嵌入式软件 9

1.3 嵌入式软件开发 10

1.3.1 软件设计程序模型 10

1.3.2 基于实时操作系统多个任务的并发处理和调度软件 11

1.3.3 基于操作系统的设备驱动和设备管理软件 11

1.3.4 设计实现嵌入式系统的软件工具 13

1.3.5 嵌入式软件分类和分层 15

1.3.6 嵌入式软件结构分类 17

1.4 嵌入式操作系统 20

1.4.1 嵌入式操作系统的功能与应用 20

1.4.2 嵌入式操作系统的历史与发展 21

1.4.3 嵌入式操作系统的特点 22

1.4.4 嵌入式操作系统的基本概念 23

1.5 嵌入式应用程序概述 23

本章习题 25

第2章 嵌入式系统开发概述 26

2.1 嵌入式系统开发平台 26

2.1.1 嵌入式系统开发工具 26

2.1.2 嵌入式系统开发机器环境 27

2.1.3 嵌入式系统开发的交叉编译技术 28

2.1.4 嵌入式系统开发的仿真技术及平台 29

2.2 嵌入式系统开发模式与开发流程 32

2.2.1 嵌入式系统开发模式 32

2.2.2 嵌入式系统开发流程 33

2.2.3 嵌入式系统开发基本步骤和技术手段示例 35

2.3 实时软件分析设计方法 37

2.4 一个基于实时操作系统内核的实时软件开发模型 41

2.4.1 实时应用系统的特征分析 41

2.4.2 μC/OS-Ⅱ嵌入式操作系统下的实时应用系统的特征 43

2.4.3 μC/OS-Ⅱ嵌入式操作系统下的实时应用系统的设计与实现 45

2.5 仿真开发环境Borland C/C++V4.5及其源代码资源 47

2.6 Make文件的使用方法 49

本章习题 52

第3章 嵌入式实时操作系统基本概念及设计方法 53

3.1 操作系统服务的方式和目标 53

3.2 用户模式和管理模式 54

3.3 实时系统概念 55

3.3.1 早期的实时系统 55

3.3.2 代码的临界段 56

3.3.3 资源及其共享 56

3.3.4 任务和多任务 56

3.3.5 上下文切换和任务切换 58

3.3.6 内核 58

3.3.7 调度程序 59

3.3.8 不可剥夺型内核 59

3.3.9 可剥夺型内核 60

3.3.10 可重入 61

3.3.11 任务优先级 63

3.3.12 优先级反转 63

3.3.13 任务优先级分配 66

3.3.14 互斥条件 66

3.3.15 关中断和开中断 66

3.3.16 测试并置位 67

3.3.17 关闭和允许任务切换 68

3.3.18 信号量(Semaphores) 68

3.3.19 死锁 73

3.3.20 同步及其实现 73

3.3.21 事件标志 75

3.3.22 任务间的通信 76

3.3.23 消息邮箱 77

3.3.24 消息队列 78

3.3.25 中断 79

3.3.26 时钟节拍 83

3.3.27 存储管理功能 85

3.3.28 实时内核的优缺点 86

3.3.29 实时系统小结 87

本章习题 87

第4章 嵌入式实时操作系统μC/OS-Ⅱ内核结构与运行流程 89

4.1 操作系统服务 89

4.2 基于RTOS的嵌入式系统基本设计 90

4.2.1 RTOS支持嵌入式系统设计基本机制 90

4.2.2 RTOS支持下的嵌入式系统基本设计原则 91

4.2.3 实时任务调度模型,中断延迟与任务响应时间作为性能指标 96

4.2.4 实时操作系统安全的讨论 98

4.3 实时操作系统μC/OS-Ⅱ基本模块功能 99

4.4 μC/OS-Ⅱ的内核结构及核心技术 106

4.4.1 μC/OS-Ⅱ内核结构 106

4.4.2 μC/OS-Ⅱ内核的核心功能 106

4.4.3 临界段 107

4.4.4 任务 108

4.4.5 任务状态 110

4.4.6 任务控制块 111

4.4.7 就绪表 115

4.4.8 任务调度(Task Scheduling) 119

4.4.9 任务调度关闭函数和任务调度打开函数 120

4.4.10 空闲任务 122

4.4.11 统计任务 122

4.4.12 μC/OS中的中断处理 126

4.4.13 时钟节拍 129

4.4.14 μC/OS-Ⅱ初始化 132

4.4.15 μC/OS-Ⅱ内核的启动 132

本章习题 133

第5章 嵌入式实时操作系统μC/OS-Ⅱ的任务管理技术 134

5.1 单个任务的结构 134

5.2 创建任务函数OSTaskCreate() 135

5.3 创建扩展任务函数OSTaskCreateExt() 137

5.4 任务堆栈的定义 140

5.5 堆栈检验函数OSTaskStkChk() 141

5.6 任务删除函数OSTaskDel() 143

5.7 请求删除任务函数OSTaskDelReq() 145

5.8 改变任务优先级函数OSTaskChangePrio() 146

5.9 挂起任务函数OSTaskSuspend() 147

5.10 恢复任务函数OSTaskResume() 148

5.11 查询任务信息函数OSTaskQuery() 148

本章习题 149

第6章 嵌入式实时操作系统μC/OS-Ⅱ内核任务同步通信 150

6.1 任务通信基本概念 150

6.2 事件机制 151

6.2.1 事件 151

6.2.2 事件控制块ECB 153

6.2.3 事件控制块操作 159

6.3 信号量机制 162

6.3.1 信号量 162

6.3.2 信号量操作 163

6.4 邮箱机制 168

6.4.1 邮箱定义 168

6.4.2 邮箱操作 168

6.4.3 邮箱的应用 174

6.5 消息队列 175

6.5.1 消息队列的定义及其数据结构 175

6.5.2 消息队列的操作 179

6.5.3 消息队列的应用 185

6.6 互斥信号量和优先级反转 187

6.6.1 优先级反转及其解决方案 187

6.6.2 互斥信号量机制及其定义 188

6.6.3 互斥信号量的操作 188

6.6.4 互斥信号量的应用编程及应用范例 193

6.7 信号量集及事件标志组 197

6.7.1 信号量集及事件标志组机制及定义 197

6.7.2 信号量集等待任务链表公共操作函数 200

6.7.3 信号量集及其事件标志组操作 202

6.7.4 事件标志组应用 207

本章习题 211

第7章 嵌入式实时操作系统μC/OS-Ⅱ内核动态内存管理技术 212

7.1 μC/OS-Ⅱ内存管理模块的基本目标、结构与功能 212

7.1.1 μC/OS-Ⅱ内核动态内存管理的基本目标和基本方法 212

7.1.2 动态内存管理的结构与功能 213

7.2 μC/OS-Ⅱ内存管理模块基本服务和应用接口函数 213

7.2.1 μC/OS-Ⅱ动态分配内存 214

7.2.2 内存控制块 215

7.2.3 动态内存管理应用接口函数 216

7.3 内存管理模块应用实例分析 222

本章习题 223

第8章 嵌入式实时操作系统μC/OS-Ⅱ内核的中断时钟管理技术 225

8.1 μC/OS-Ⅱ的中断管理和中断服务程序的结构 225

8.1.1 μC/OS-Ⅱ内核的中断 225

8.1.2 μC/OS-Ⅱ系统响应中断的过程 227

8.1.3 μC/OS-Ⅱ内核的中断管理实现方法 228

8.1.4 中断关闭和打开及其实现方法 231

8.1.5 应用程序中的临界段及其实现 233

8.2 μC/OS-Ⅱ的系统时钟及实现方法 233

8.2.1 μC/OS-Ⅱ的系统时钟 233

8.2.2 μC/OS-Ⅱ的系统时钟实现方法 234

8.3 μC/OS-Ⅱ的时间管理 236

8.3.1 任务延时函数OSTimeDly() 237

8.3.2 按时分秒延时函数OSTimeDlyHMSM() 238

8.3.3 结束任务延时函数OSTimeDlyResume() 240

8.3.4 获取系统时间函数OSTimeGet()和设置系统时间函数OSFimeSet() 240

8.4 应用编程实例分析 241

本章习题 249

第9章 嵌入式实时操作系统μC/OS-Ⅱ内核的移植接口设计 251

9.1 操作系统软件的移植 251

9.1.1 软件的移植 251

9.1.2 操作系统移植 252

9.1.3 操作系统移植的规划 252

9.2 嵌入式实时操作系统μC/OS-Ⅱ的内核移植 253

9.2.1 移植μC/OS-Ⅱ内核的技术条件 253

9.2.2 移植μC/OS-Ⅱ内核的硬件条件 254

9.2.3 移植μC/OS-Ⅱ内核的软件条件 255

9.2.4 移植μC/OS-Ⅱ内核的相关文件 257

本章习题 258

第10章 基于内核的应用程序结构与运行流程 259

10.1 嵌入式实时操作系统μC/OS-Ⅱ基本应用编程接口 259

10.2 嵌入式实时操作系统μC/OS-Ⅱ应用程序结构与实例分析 262

10.2.1 μC/OS-Ⅱ应用程序基本结构 262

10.2.2 应用实例程序基本结构分析 263

10.3 嵌入式实时操作系统μC/OS-Ⅱ多任务运行流程分析 267

10.3.1 μC/OS-Ⅱ应用程序基本运行特征 267

10.3.2 应用实例程序基本运行流程分析 268

10.4 嵌入式实时操作系统μC/OS-Ⅱ应用任务设计及编程方法 270

第11章 嵌入式实时系统μC/OS-Ⅱ内核的应用方案及实现方法 275

11.1 设计应用方案的基本思路及方法 275

11.2 基于嵌入式实时系统μC/OS-Ⅱ的内核的应用案例1及实现方法 277

11.3 基于嵌入式实时系统μC/OS-Ⅱ的内核的应用案例2及实现方法 286

11.4 实验指导 295

11.4.1 任务管理实验指导 296

11.4.2 任务通信管理实验指导 301

附录A 实验项目 312

A.1 实验1 312

A.2 实验2 313

A.3 实验3 313

A.4 实验4 315

参考文献 317