图书介绍

嵌入式实时操作系统的多线程计算 基于ThreadX和ARM using threadX and ARMpdf电子书版本下载

嵌入式实时操作系统的多线程计算 基于ThreadX和ARM using threadX and ARM
  • (美)Edward L. Lamie著;张炯等译 著
  • 出版社: 北京:北京航空航天大学出版社
  • ISBN:7810776290
  • 出版时间:2005
  • 标注页数:328页
  • 文件大小:11MB
  • 文件页数:344页
  • 主题词:实时操作系统;微处理器,ARM

PDF下载


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

下载说明

嵌入式实时操作系统的多线程计算 基于ThreadX和ARM using threadX and ARMPDF格式电子书版下载

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

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

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

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

图书目录

第1章 嵌入式实时操作系统 1

1.1 介绍 1

1.2 何谓嵌入式系统 1

1.3 嵌入式系统的特征 2

1.4 实时系统 2

1.5 实时操作系统和实时内核 2

1.6 进程、任务和线程 3

1.7 实时系统的系统结构 4

1.8 嵌入式系统的开发 5

1.9 关键词和术语 5

第2章 初步了解使用RTOS的系统 7

2.1 操作环境 7

2.2 ThreadX演示系统的安装 7

2.3 包含两个线程的演示系统 7

2.4 创建线程对象 9

2.5 编译并执行示例系统 11

2.6 系统和输出结果的分析 11

2.7 02_sample_system.c代码清单 12

2.8 关键词和术语 17

2.9 问题 18

第3章 RTOS概念和定义 19

3.1 介绍 19

3.2 优先级 19

3.3 就绪线程和挂起线程 20

3.4 占先,基于优先级的调度 21

3.5 轮转调度 21

3.6 确定性 22

3.7 内核 22

3.8 RTOS 22

3.9 上下文切换 23

3.10 时间片轮转 23

3.11 中断处理 23

3.12 线程饥饿 23

3.13 优先级翻转 24

3.14 优先级继承 24

3.15 抢占阀值 25

3.16 关键词和术语 25

3.17 问题 26

第4章 用于系统开发的基本RTOS组件 27

4.1 介绍 27

4.2 定义公共资源 27

4.3 ThreadX数据类型 28

4.4 线程 28

4.5 内存池 29

4.6 应用定时器 31

4.7 互斥量 31

4.8 计数信号量 32

4.9 事件标志组 33

4.10 消息队列 33

4.11 线程同步和通信组件总结 34

4.12 关键词和术语 35

4.13 问题 36

第5章 ARM微处理器简介 37

5.1 介绍 37

5.2 历史 37

5.3 技术特征 38

5.3.1 兼容片上系统 38

5.3.2 低功耗 39

5.3.3 改进的代码密度 39

5.3.4 多样化的寄存器 39

5.3.5 CPSR的定义 41

5.3.6 处理器模式 42

5.4 ARM对节能的支持 43

5.5 关键词和术语 43

第6章 线程 45

6.1 介绍 45

6.2 线程控制块 45

6.3 线程调用综述 46

6.4 创建线程 47

6.5 删除线程 52

6.6 识别线程 53

6.7 获取线程信息 53

6.8 改变抢占门限 54

6.9 改变优先级 54

6.10 放弃执行 55

6.11 恢复线程执行 55

6.12 线程睡眠 55

6.13 挂起线程 56

6.14 中止线程 56

6.15 改变时间片 56

6.16 中止线程等待 57

6.17 线程执行综述 57

6.18 线程状态 58

6.19 线程设计 59

6.19.1 最小化线程的数量 60

6.19.2 谨慎设置优先级 60

6.19.3 最小化优先级的数目 60

6.19.4 考虑使用抢占门限 60

6.19.5 考虑优先级继承 61

6.19.6 考虑轮转调度方式 61

6.19.7 考虑时间片 61

6.20 线程内部结构 61

6.21 总结 62

6.22 关键词和术语 63

6.23 问题 64

第7章 互斥量 66

7.1 介绍 66

7.2 保护临界区 66

7.3 提供对共享资源的互斥访问 67

7.4 互斥量控制块 67

7.5 互斥量服务综述 68

7.6 创建一个互斥量 68

7.7 删除一个互斥量 69

7.8 申请互斥量 69

7.9 获取互斥量信息 70

7.10 按优先级调整挂起队列 71

7.11 释放一个信号量 71

7.12 避免死锁 72

7.13 用互斥量保护临界区的示例程序 73

7.14 示例程序的输出 78

7.15 07_sample_system.c代码清单 80

7.16 互斥量内部结构 85

7.17 总结 86

7.18 关键词和术语 86

7.19 问题 87

第8章 内存管理:字节池和块池 88

8.1 介绍 88

8.2 内存字节池概述 88

8.3 内存字节池控制块 89

8.4 内存字节池的缺陷 90

8.5 内存字节池服务概述 91

8.6 创建内存字节池 91

8.7 从内存字节池中分配内存 92

8.8 删除内存字节池 92

8.9 获取内存字节池信息 93

8.10 优先排列内存字节池挂起列表 93

8.11 释放内存到内存字节池 94

8.12 内存字节池例程——分配线程堆栈 94

8.13 内存字节池内部机制 95

8.14 内存块池概述 97

8.15 内存块池控制块 98

8.16 内存块池服务概述 98

8.17 创建内存块池 99

8.18 从内存块池中分配内存 100

8.19 删除内存块池 100

8.20 获取内存块池信息 101

8.21 优先排列内存块池挂起列表 102

8.22 释放内存块 102

8.23 内存块池例程——分配线程堆栈 103

8.24 内存块池内部机制 104

8.25 总结和对比 104

8.26 关键词和术语 105

8.27 问题 105

第9章 内部系统时钟和应用定时器 107

9.1 介绍 107

9.2 内部系统时钟服务 108

9.3 应用定时器控制块 109

9.4 应用定时器服务概述 110

9.5 创建应用定时器 110

9.6 启动应用定时器 111

9.7 修改应用定时器 112

9.8 停止应用定时器 112

9.9 删除应用定时器 113

9.10 获取应用定时器信息 113

9.11 使用定时器测量线程性能的例程 114

9.12 09_sample_system.c代码清单 117

9.13 应用定时器内部机制 123

9.14 总结 124

9.15 关键词和术语 124

9.16 问题 125

第10章 事件通知和利用信号量同步线程 127

10.1 介绍 127

10.2 计数信号量控制块 128

10.3 避免死锁 129

10.4 防止优先级倒置 129

10.5 信号量服务综述 129

10.6 创建一个信号量 129

10.7 删除一个信号量 130

10.8 从信号量申请一个实例 131

10.9 获取信号量的信息 131

10.10 按优先级调整信号量的挂起队列 132

10.11 向信号量放入一个实例 132

10.12 对比信号量和互斥量 133

10.13 使用二进制信号量代替互斥量的示例程序 134

10.14 10a_sample_system.c代码清单 135

10.15 在生产者—消费者程序中使用信号量的例子 142

10.16 10b_sample_system.c代码清单 144

10.17 信号量内部结构 150

10.18 总结 151

10.19 关键词和术语 151

10.20 问题 152

第11章 用事件标志组同步线程 153

11.1 介绍 153

11.2 事件标志组控制块 154

11.3 事件标志组服务综述 155

11.4 创建一个组 155

11.5 删除一个组 156

11.6 等待组中的标志被置位 156

11.7 获取组的信息 159

11.8 设置组中的事件标志 159

11.9 使用事件标志组同步两个线程的示例系统 161

11.10 11_sample_system.c代码清单 164

11.11 事件标志组内部结构 170

11.12 总结 171

11.13 关键词和术语 171

11.14 问题 172

第12章 使用消息队列进行线程通信 173

12.1 介绍 173

12.2 消息队列控制块 174

12.3 消息队列服务函数的概要 175

12.4 创建消息队列 176

12.5 向消息队列发送消息 176

12.6 从消息队列中获取消息 177

12.7 删除消息队列 178

12.8 清除消息队列中的内容 178

12.9 向消息队列头发送消息 179

12.10 检索消息队列信息 179

12.11 将消息队列挂起列表以优先顺序排列 180

12.12 使用消息队列作为线程间通信的示例系统 181

12.13 12_sample_system.c代码清单 184

12.14 消息队列的内部 190

12.15 总结 191

12.16 关键词和术语 192

12.17 问题 192

第13章 ARM异常处理 193

13.1 介绍 193

13.2 ThreadX对ARM异常处理的实现 194

13.2.1 复位向量的初始化 194

13.2.2 线程的调度 196

13.2.3 ThreadX中断处理 199

13.2.4 内部中断处理 201

13.3 关键词和术语 203

第14章 案例分析:设计一个多线程系统 204

14.1 介绍 204

14.2 问题的描述 205

14.3 问题的分析 207

14.4 系统的设计 209

14.4.1 线程设计 209

14.4.2 公共资源设计 210

14.5 实现 213

14.6 VAM System代码清单 226

14.7 总结 237

附录 239

附录A 内存块池服务 241

附录B 内存字节池服务 249

附录C 事件标志组服务 257

附录D 中断控制服务 265

附录E 互斥量服务 267

附录F 消息队列服务函数 275

附录G 信号量服务 287

附录H 线程服务 295

附录I 内部系统时钟服务 313

附录J 应用定时器服务 315

附录K ThreadX API 323

精品推荐