《Cortex-M处理器设计指南》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)马丁著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111492276
  • 页数:230 页
图书介绍:本书是关于ARM用于工业控制的Cortex-M系列处理器的入门级基础教程,它包含了Cortex-M家族的重要特征、Cortex-M处理器的架构、如何使用CoreSight调试系统、Cortex-M微控制器接口标准、Cortex-M微控制器的软件接口标准、RTOS操作系统的开发、CMSIS DSP库、优化DSP代码和Cortex-M4 下实际的DSP等内容。适合作为工科院校电子信息类专业本科生和研究生的嵌入式应用开发实践用书,是嵌入式系统工程师的入门教程。

第1章 Cortex-M处理器家族简介 1

1.1 Cortex系列概述 1

1.2 Cortex-M3 2

1.3 先进的架构特性 5

1.4 Cortex-M0 6

1.5 Cortex-M0+ 9

1.6 Cortex-M4 10

1.7 DSP指令 12

第2章 为Cortex-M处理器家族开发软件 14

2.1 引言 14

2.2 Keil微控制器开发套件 14

2.3 教程练习 15

2.4 安装 15

2.5 练习:建立第一个程序 16

2.6 Blinky项目 16

2.6.1 寄存器窗口 21

2.6.2 反汇编窗口 21

2.7 项目配置 29

2.8 硬件调试 38

第3章 Cortex-M架构 41

3.1 引言 41

3.2 Cortex-M指令集 41

3.3 编程器的模型与CPU寄存器 42

3.4 程序状态寄存器 43

3.5 Q位和饱和运算指令 43

3.6 中断和多周期指令 44

3.7 条件执行——IF THEN块 44

3.8 练习:饱和运算和条件执行 46

3.9 Cortex-M内存映射和总线 50

3.10 写缓冲器 51

3.11 内存屏障指令 52

3.12 系统控制模块 52

3.13 位操作 53

3.14 练习:位段 55

3.15 专用位操作指令 55

3.16 系统时钟定时器 56

3.17 嵌套向量中断控制器 56

3.18 操作模式 57

3.19 中断处理之输入 57

3.20 中断处理之退出 58

3.21 中断处理之退出(重要) 59

3.22 练习:系统时钟中断 59

3.23 Cortex-M处理器异常 62

3.23.1 使用故障 63

3.23.2 总线故障 63

3.23.3 存储管理器故障 63

3.23.4 硬故障 63

3.23.5 启用故障异常 64

3.24 优先级和抢占 64

3.25 组与子组 64

3.26 运行时间优先级控制 65

3.27 异常模式 66

3.27.1 NVIC尾链 66

3.27.2 NVIC迟到 67

3.27.3 NVIC POP抢占 67

3.28 练习:多中断工作 68

3.29 引导加载程序支持 71

3.30 练习:引导加载程序 72

3.31 功率管理 75

3.31.1 进入低功耗模式 76

3.31.2 配置低功耗模式 76

3.31.3 练习:低功耗模式 77

3.32 Cortex-M3 78

3.33 Cortex-M4 79

3.34 Cortex-M0 79

3.35 Cortex-M0+ 80

第4章 Cortex微控制器软件接口标准 82

4.1 引言 82

4.2 CMSIS规范 83

4.3 CMSIS内核 84

4.4 CMSIS RTOS 84

4.5 CMSIS DSP 85

4.6 CMSIS SVD和DAP 85

4.7 CMSIS基础 85

4.8 编码规则 86

4.9 MISRA C 86

4.10 CMSIS内核结构 88

4.11 启动代码 88

4.12 系统代码 89

4.13 设备头文件 89

4.14 CMSIS内核头文件 91

4.15 中断与异常 91

4.16 练习:CMSIS和用户代码对比 94

4.17 CMSIS内核寄存器访问 95

4.18 CMSIS内核CPU内在指令 96

4.19 练习:内部位操作 97

4.20 CMSIS SIMD内部指令 98

4.21 CMSIS内核调试函数 98

4.22 练习:简单ITM 98

第5章 先进的架构特性 100

5.1 引言 100

5.2 Cortex处理器操作模式 100

5.3 练习:堆栈配置 102

5.4 系统服务调用 103

5.5 练习:SVC 104

5.6 Pend SVC异常 107

5.7 例子:Pend SVC 108

5.8 处理器之间的事件 110

5.9 独占访问 110

5.10 练习:独占访问 111

5.11 存储保护单元 112

5.12 配置MPU 114

5.13 练习:MPU配置 116

5.14 MPU子区间 120

5.15 MPU的局限性 120

5.16 AHB Lite总线接口 120

第6章 使用CMSIS RTOS进行开发 122

6.1 引言 122

6.2 入门 122

6.3 创建一个项目 122

6.4 使用CMSIS RTOS的第一步 123

6.5 线程 123

6.6 从RTOS开始 125

6.7 练习:第一个CMSISRTOS项目 126

6.8 创建线程 127

6.9 练习:创建和管理线程 128

6.10 线程管理和优先级 130

6.11 练习:创建和管理线程Ⅱ 130

6.12 多个实例 132

6.13 练习:多个线程实例 132

6.14 构建代码并启动调试器 132

6.15 时间管理 133

6.16 时间延迟 133

6.17 等待事件 134

6.18 练习:时间管理 134

6.19 虚拟定时器 134

6.20 练习:虚拟定时器 135

6.21 空闲的守护进程 136

6.22 练习:空闲的线程 137

6.23 线程间的通信 138

6.24 练习:信号 139

6.25 练习:中断信号 140

6.26 练习:CMSISRTX和SVC异常 141

6.27 练习:信号量发信号 144

6.27.1 使用信号量 145

6.27.2 发信号 145

6.27.3 多路复用 145

6.27.4 练习:多路复用 146

6.27.5 会合 146

6.28 练习:会合 147

6.29 练习:信号量隔离 148

6.29.1 信号量注意事项 148

6.29.2 互斥 148

6.29.3 练习:互斥 149

6.29.4 互斥注意事项 150

6.29.5 数据交换 150

6.30 消息队列 151

6.31 练习:消息队列 152

6.32 内存池 152

6.33 邮箱队列 153

6.34 练习:邮箱 154

6.34.1 配置 155

6.34.2 线程定义 155

6.34.3 系统定时器配置 156

6.34.4 时间片配置 156

6.34.5 调度选项 156

6.34.6 优先级反转 158

6.34.7 练习:优先级反转 158

第7章 基于Cortex-M4的实用DSP 160

7.1 引言 160

7.2 Cortex-M4硬件浮点单元 160

7.3 FPU整体 161

7.4 FPU寄存器 161

7.5 启用FPU 162

7.6 异常与FPU 162

7.7 使用FPU 163

7.8 练习:浮点单元 163

7.9 Cortex-M4 DSP和SIMD指令 166

7.10 练习:SIMD指令 169

7.11 练习:优化DSP算法 171

7.12 CMSIS DSP库 176

7.13 CMSIS DSP库函数 176

7.14 练习:使用DSP库 177

7.15 DSP数据处理技术 180

7.16 练习:使用块处理的FIR滤波器 181

7.17 具有Q数的定点DSP 183

7.18 练习:定点FFT 184

7.19 实时处理设计 185

7.20 缓冲技术:双缓冲器或环形缓冲器 185

7.21 缓冲技术:FIFO消息队列 186

7.22 平衡加载 188

7.23 练习:RTXⅡR 189

7.24 负责加载和直接存储访问的控制器 191

第8章 使用CoreSight进行调试 193

8.1 引言 193

8.2 CoreSight硬件 194

8.3 调试器硬件 195

8.4 CoreSight调试架构 195

8.5 练习:CoreSight调试 196

8.6 硬件配置 196

8.7 软件配置 197

8.8 调试局限性 201

8.9 指令追踪 201

8.10 练习:建立ITM 201

8.11 使用RTX RTOS的ITM进行软件测试 204

8.12 错误任务 204

8.13 软件测试任务 205

8.14 练习:使用ITM进行软件测试 205

8.15 使用ETM进行指令追踪 208

8.16 练习:使用ETM追踪 209

8.17 系统控制模块的调试支持 212

8.18 故障追踪 213

8.19 练习:处理器故障异常 214

8.20 CMSIS SVD 216

8.21 练习:CMSIS SVD 217

8.22 CMSIS DAP 220

8.23 Cortex-M0+MTB 221

8.24 练习:MTB 221

8.25 调试特性总结 223

附录 224

书籍 226