图书介绍

嵌入式实时操作系统μC/OS原理与实践 第2版pdf电子书版本下载

嵌入式实时操作系统μC/OS原理与实践  第2版
  • 卢有亮编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121225178
  • 出版时间:2014
  • 标注页数:278页
  • 文件大小:72MB
  • 文件页数:289页
  • 主题词:实时操作系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

嵌入式实时操作系统μC/OS原理与实践 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 实时操作系统基础 1

1.1 操作系统概述 1

1.1.1 什么是操作系统 1

1.1.2 操作系统基本功能 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.3.4 任务切换 8

1.3.5 可重入函数和不可重入函数 9

1.4 基于优先级的可剥夺内核 11

1.4.1 内核 11

1.4.2 基于优先级的调度算法 11

1.4.3 不可剥夺型内核和可剥夺型内核 12

1.5 同步与通信 13

1.5.1 同步 13

1.5.2 互斥 14

1.5.3 临界区 14

1.5.4 事件 15

1.5.5 信号量 15

1.5.6 互斥信号量 17

1.5.7 事件标志组 17

1.5.8 消息邮箱和消息队列 17

1.6 时钟和中断 19

1.7 内存管理 21

1.8 嵌入式实时操作系统μC/O6学习开发指引 21

习题 22

第2章 任务管理 23

2.1 任务管理数据结构 24

2.1.1 任务控制块 24

2.1.2 空闲链表和就绪链表 28

2.1.3 任务优先级指针表 30

2.1.4 任务堆栈 31

2.1.5 任务就绪表和就绪组 33

2.2 任务控制块初始化 38

2.2.1 代码解析 38

2.2.2 流程分析 40

2.3 操作系统初始化 41

2.3.1 代码解析 41

2.3.2 流程分析 45

2.4 任务的创建 45

2.4.1 OSTaskCreate代码解析 46

2.4.2 OSTaskCreate流程分析 48

2.4.3 OSTaskCreateExt代码解析 49

2.4.4 OSTaskCreateExt流程分析 52

2.5 任务的删除 53

2.5.1 任务删除代码解析 54

2.5.2 任务删除流程分析 57

2.5.3 请求删除任务代码解析 58

2.5.4 请求删除任务流程 59

2.6 任务挂起和恢复 60

2.6.1 OSTaskSuspend代码解析 61

2.6.2 OSTaskSuspend流程分析 63

2.6.3 OSTaskResume代码解析 63

2.6.4 OSTaskResume流程分析 65

2.7 任务的调度和多任务的启动 66

2.7.1 任务调度器 66

2.7.2 任务切换函数 68

2.7.3 中断中的任务调度 73

2.7.4 多任务的启动 74

2.8 特殊任务 75

2.8.1 空闲任务OS_Taskldle 75

2.8.2 统计任务OS_TaskStat 76

2.9 任务管理总结 78

习题 79

第3章 中断和时间管理 80

3.1 中断管理 80

3.1.1 中断管理核心思路 80

3.1.2 中断处理的流程 82

3.1.3 时钟中断服务 82

3.2 时间管理 83

3.2.1 时间管理主要数据结构 83

3.2.2 时间的获取和设置 84

3.2.3 任务延时函数OSTimeDly 84

3.2.4 任务按分秒延迟函数OSTimeDlyHMSM 86

3.2.5 延时恢复函数OSTimeDlyResume 87

习题 90

第4章 事件管理 91

4.1 事件管理的重要数据结构 91

4.1.1 事件控制块(ECB) 91

4.1.2 事件等待组和事件等待表 92

4.1.3 事件控制块空闲链表 93

4.2 事件管理程序 94

4.2.1 事件控制块(ECB)初始化 94

4.2.2 事件等待表初始化 94

4.2.3 设置事件等待 95

4.2.4 取消事件等待 97

4.2.5 将等待事件的任务就绪 97

4.3 信号量管理 99

4.3.1 信号量的建立OSSemCreate 99

4.3.2 信号量的删除OSSemDel 101

4.3.3 请求信号量OSSemPend 104

4.3.4 提交信号量 107

4.3.5 无等待请求信号量 109

4.3.6 放弃等待信号量 110

4.3.7 信号量值设置 111

4.3.8 查询信号量状态 112

4.3.9 信号量应用举例 113

4.4 互斥信号量管理 117

4.4.1 互斥信号量的建立 118

4.4.2 请求互斥信号量 120

4.4.3 互斥信号量的删除 125

4.4.4 发互斥信号量 128

4.4.5 无等待请求互斥信号量 130

4.4.6 查询互斥信号量状态 131

4.4.7 改变任务的优先级并重新就绪 133

4.4.8 互斥信号量应用举例 133

4.5 事件标志组管理 137

4.5.1 事件标志组数据结构 138

4.5.2 事件标志组初始化 140

4.5.3 创建事件标志组 141

4.5.4 事件标志组阻塞函数 142

4.5.5 请求事件标志 143

4.5.6 删除事件标志组 150

4.5.7 提交事件标志组 152

4.5.8 标志节点任务就绪 154

4.5.9 无等待的请求事件标志 155

4.5.10 事件标志管理应用举例 157

习题 161

第5章 消息管理 162

5.1 消息邮箱 162

5.1.1 建立消息邮箱 163

5.1.2 等待消息 165

5.1.3 发消息 168

5.1.4 删除消息邮箱 170

5.1.5 放弃等待邮箱 173

5.1.6 无等待请求消息 175

5.1.7 查询消息邮箱状态 175

5.1.8 消息邮箱的例子 176

5.2 消息队列 178

5.2.1 消息队列数据结构 179

5.2.2 初始化消息队列 182

5.2.3 建立消息队列 183

5.2.4 发消息到消息队列 185

5.2.5 等待消息队列中的消息 186

5.2.6 删除消息队列 188

5.2.7 取得消息队列的状态 190

5.2.8 消息队列应用举例 191

习题 194

第6章 内存管理 195

6.1 内存管理数据结构 195

6.1.1 内存控制块 195

6.1.2 内存控制块实体 196

6.1.3 空闲内存控制块链表 196

6.1.4 内存分区 196

6.2 内存控制块初始化 197

6.3 创建内存分区 198

6.4 内存分区获取 200

6.5 内存分区释放 201

6.6 查询内存分区的状态 202

6.7 内存管理实例 203

习题 205

第7章 移植 206

7.1 移植说明 206

7.1.1 μC/OS-II的代码结构 206

7.1.2 操作系统中与CPU相关的代码解析 209

7.1.3 μC/OS-II移植步骤 213

7.2 在Visual C++ 6.0上实现基于Windows的虚拟μC/OS-II移植 213

7.2.1 目录结构和工程的建立 213

7.2.2 包含文件includes.h 214

7.2.3 os_cpu.h中修改的代码 215

7.2.4 os_cpu.c中修改的代码 216

7.2.5 主程序代码实现 219

7.2.6 移植测试 220

7.3 μC/OS-II在ARM Cortex M3下的移植 221

7.3.1 与移植相关的ARM Cortex M3研究 221

7.3.2 os_cpu.h代码解析 223

7.3.3 os_cpu_c.c移植代码解析 225

7.3.4 os_cpu_a.asm移植代码解析 227

7.3.5 移植后的目录结构 233

习题 234

第8章 工程实践 235

8.1 工程需求说明 235

8.2 分析 236

8.3 工程设计 236

8.3.1 整体设计 236

8.3.2 主机硬件接口设计 237

8.3.3 多任务设计 238

8.3.4 串口数据格式 239

8.4 程序设计 239

8.4.1 主程序 239

8.4.2 串口中断服务程序 240

8.4.3 缓冲区处理任务代码 240

8.4.4 显示任务代码 242

8.4.5 AD采集任务代码 243

8.4.6 触摸屏任务代码 244

8.4.7 μC/GUI消息处理任务代码 244

8.4.8 启动任务代码 245

8.4.9 工程代码结构 245

8.5 运行测试 246

习题 246

设计题 247

第9章 μC/OS-III分析、移植与应用实践 248

9.1 本章说明 248

9.2 μC/OS-III代码结构 248

9.3 μC/OS-III在STM32上的移植 250

9.3.1 os_cpu.h代码 250

9.3.2 os_cpu_c.c移植代码 251

9.3.3 os_cpu_a.asm移植代码 252

9.4 μC/OS-III函数 253

9.4.1 任务管理函数 253

9.4.2 时间管理函数 255

9.4.3 信号量管理函数 255

9.4.4 互斥信号量管理函数 257

9.4.5 消息队列管理函数 258

9.4.6 中断管理函数 259

9.4.7 内核函数 259

9.5 μ/OS-III工程示例 260

9.5.1 工程分组 260

9.5.2 主程序 261

9.5.3 串口中断服务程序 263

9.5.4 缓冲区处理任务代码 264

9.5.5 显示任务代码 266

9.5.6 启动任务代码 266

9.5.7 其他代码 267

9.5.8 运行测试 267

习题 267

设计题 267

附录A 亮点STM32开发板资源 268

A.1 硬件资源概述 268

A.2 硬件资源按引脚分配 269

A.3 接口描述 271

A.4 软件资源 276

A.5 网络资源 277

参考文献 278

精品推荐