图书目录

  

目    录

第1章  绪论 1

1.1  嵌入式系统应用概述 2

1.1.1  嵌入式系统的发展历程 2

1.1.2  嵌入式系统的典型应用 2

1.1.3  嵌入式系统的特点 4

1.2  嵌入式微处理器 5

1.2.1  单片机 5

1.2.2  数字信号处理器 6

1.2.3  片上系统 6

1.2.4  微处理器的选型 6

1.3  操作系统概述 7

1.3.1  操作系统的主要特点 7

1.3.2  常见的嵌入式操作系统 8

本章小结 10

习题 10

第2章  嵌入式ARM微处理器 11

2.1  ARM微处理器基础 11

2.1.1  ARM微处理器简介 11

2.1.2  ARM微处理器的版本发展 13

2.1.3  ARM微处理器各版本的

主要特点 14

2.1.4  ARM微处理器的工作模式 15

2.1.5  ARM微处理器的工作模式

切换 16

2.2  ARM系统中的存储器 16

2.2.1  ARM系统中的存储方式 16

2.2.2  存储器基础 17

2.2.3  存储器的分类 18

2.2.4  存储器的性能指标 19

2.3  动态随机存储器 19

2.3.1  DRAM 20

2.3.2  SDRAM 20

2.4  嵌入式系统硬件及软件结构 22

2.4.1  最小硬件系统 22

2.4.2  嵌入式系统软件结构 23

2.4.3  嵌入式系统软件开发工具 24

2.5  SWM1000S微处理器 25

2.5.1  SWM1000S微处理器的

特点 25

2.5.2  SWM1000S微处理器产品

特性 27

2.5.3  SWM1000S微处理器产品

内核功能描述 29

本章小结 30

习题 30

第3章  中断及系统控制器 31

3.1  ARM中断类型及处理方式 31

3.1.1  中断类型 32

3.1.2  中断处理 36

3.1.3  SWI中断处理 39

3.2  中断控制器 40

3.2.1  中断向量表 41

3.2.2  寄存器映射 41

3.2.3  外部中断示例分析 44

3.3  系统定时器 47

3.3.1  系统定时器简介 47

3.3.2  定时器寄存器映射 47

3.4  系统控制器 48

3.4.1  CPUID寄存器 48

3.4.2  ICSR寄存器 48

3.4.3  AIRCR寄存器 49

3.4.4  SCR寄存器 49

3.4.5  系统处理优先级寄存器 50

3.5  系统控制 50

3.5.1  时钟控制 51

3.5.2  端口设置 52

3.5.3  系统功能设置 60

本章小结 61

习题 61

第4章  输入/输出与定时(计数)器 62

4.1  通用输入/输出端口 62

4.1.1  数据控制 62

4.1.2  中断控制 63

4.1.3  滤波功能设置 65

4.1.4  初始化配置 66

4.1.5  GPIO操作 68

4.2  通用定时(计数)器 69

4.3  专用定时(计数)器 76

4.3.1  Timer/Counter模式 76

4.3.2  PWM输出模式 77

4.3.3  脉冲及占空比模式 78

4.4  看门狗定时器 82

本章小结 85

习题 85

第5章  通信接口 86

5.1  通用异步收发器 86

5.1.1  基本结构 87

5.1.2  UART的工作原理 88

5.1.3  UART通信协议 91

5.1.4  UART中断控制 93

5.1.5  寄存器映射 94

5.2  I2C总线 99

5.2.1  I2C总线功能概述 99

5.2.2  I2C总线的初始化配置 101

5.2.3  寄存器映射 102

5.3  同步串行接口 112

5.3.1  FIFO操作 113

5.3.2  SSI中断 113

5.3.3  帧格式 113

5.3.4  SSI初始化配置 118

5.3.5  寄存器映射 120

本章小结 125

习题 125

第6章  PWM及Flash操作 126

6.1  PWM 126

6.1.1  PWM结构模块 127

6.1.2  PWM初始化配置 128

6.1.3  PWM刹车模块 130

6.1.4  寄存器映射 131

6.2  模数转换器 132

6.2.1  ADC的工作模式 134

6.2.2  ADC工作模式程序设计 135

6.2.3  转换结果比较 136

6.2.4  PWM触发ADC采样 138

6.2.5  寄存器映射 139

6.2.6  ADC转换 140

6.3  比较器/放大器 143

6.3.1  结构及功能 143

6.3.2  典型配置 144

6.4  Flash操作 147

6.4.1  加密 147

6.4.2  操作函数 147

本章小结 150

习题 150

第7章  嵌入式软件开发基础 151

7.1  ARM指令及寻址 151

7.1.1  ARM的指令编码方式 151

7.1.2  ARM的寻址方式 154

7.2  ARM指令集 156

7.2.1  数据处理指令 157

7.2.2  跳转处理指令 160

7.2.3  程序状态寄存器处理指令 161

7.2.4  协处理器指令 162

7.3  Thumb指令集 163

7.4  ARM程序开发基础 165

7.4.1  ARM汇编程序设计介绍 165

7.4.2  ARM汇编语言与C/C++语言

混合编程 167

7.5  Keil编程环境 173

7.5.1  RealView概述 174

7.5.2  软件开发流程 180

7.5.3  开发工具 181

7.5.4  仿真开发工具 182

本章小结 182

习题 182

第8章  创建应用程序 184

8.1  创建工程基础 184

8.1.1  创建工程 184

8.1.2  编译工程 193

8.2  使用μVision调试器测试程序 194

8.2.1  配置调试参数 195

8.2.2  仿真调试 198

本章小结 203

习题 203

第9章  SWM1000S开发板介绍 204

9.1  开发板资源 204

9.1.1  开发板资源介绍 204

9.1.2  硬件电路介绍 205

9.2  基础程序设计 209

9.2.1  基础功能分类 209

9.2.2  基础程序设计 210

9.3  扩展功能程序设计 214

9.3.1  DHT-11温湿度测量程序

设计 214

9.3.2  DS18B20温度传感器测量

程序设计 218

9.3.3  夏普GP2Y1010AU0F环境

PM2.5测量程序设计 222

9.3.4  E18-D80NK漫反射式避障

传感器程序设计 226

9.3.5  ULN2003步进电机驱动

程序设计 227

9.3.6  HC-SR04超声波传感器程序

设计 229

本章小结 231

习题 232

第10章  SWM1000S应用开发实例 233

10.1  温度采集节点设计 233

10.1.1  功能介绍 233

10.1.2  系统结构设计 233

10.1.3  电路原理设计 234

10.1.4  程序设计 237

10.2  智能LED灯控制系统设计 240

10.2.1  功能介绍 241

10.2.2  系统结构设计 241

10.2.3  电路原理设计 241

10.2.4  程序设计 244

10.3  无刷直流电机驱动设计 250

10.3.1  工作原理 250

10.3.2  系统结构设计 251

10.3.3  电路原理设计 252

10.3.4  程序设计 253

本章小结 255

习题 255

第11章  智能扫地机器人开发实例 256

11.1  扫地机器人(T271)开发 256

11.1.1  机器人(T271)硬件设计 256

11.1.2  机器人(T271)软件开发 265

11.2  扫地机器人(610D)开发 273

11.2.1  机器人(610D)硬件设计 274

11.2.2  机器人(610D)软件开发 277

本章小结 280

习题 281

附录A  SWM1000S电气特性 282

附录B  SWM1000S的封装特性 285

附录C  Cortex-M0处理器指令集 286

附录D  T271机器人吸尘器功能  

规划与电路原理 288