第1章 ARM处理器概述 1
1.1 ARM处理器的应用领域和特点 1
1.1.1 ARM处理器的应用领域 1
1.1.2 ARM处理器的特点 3
1.2 主流的ARM处理器介绍 3
1.2.1 ARM体系结构的命名规则 4
1.2.2 ARM Cortex应用程序处理器 4
1.2.3 ARM Cortex嵌入式处理器 6
1.2.4 经典ARM 处理器 9
1.2.5 ARM专家处理器 12
1.2.6 其他ARM处理器 13
1.3 S5PV210处理器简介 14
1.3.1 AMBA、AHB、APB总线介绍 15
1.3.2 存储器子系统 16
1.3.3 多媒体 17
1.3.4 时钟和电源管理 19
本章小结 23
第2章 ARM汇编语言基础 24
2.1 编程模型介绍 24
2.1.1 ARM 处理器模式 24
2.1.2 ARM 寄存器组介绍 25
2.2 ARM 处理器寻址方式 27
2.2.1 立即寻址 27
2.2.2 寄存器寻址 27
2.2.3 寄存器间接寻址 27
2.2.4 寄存器偏移寻址 28
2.2.5 基址变址寻址 28
2.2.6 多寄存器寻址 28
2.2.7 堆栈寻址 29
2.3 ARM 指令集 29
2.3.1 ARM 指令的格式和分类 29
2.3.2 跳转指令 31
2.3.3 数据处理指令 32
2.3.4 程序状态寄存器传输指令 37
2.3.5 Load/Store指令 39
2.3.6 协处理器指令 40
2.3.7 异常中断产生指令 42
2.4 Thumb指令集 43
2.4.1 Thumb指令集简介 43
2.4.2 Thumb指令集和ARM指令集的区别 43
2.5 ARM伪指令 44
2.5.1 小范围地址读取——ADR伪指令 44
2.5.2 中等范围地址读取——ADRL伪指令 45
2.5.3 大范围地址读取——LDR伪指令 46
2.5.4 空操作——NOP伪指令 47
2.6 ARM汇编语言的伪操作和宏指令 48
2.6.1 符号定义伪操作 48
2.6.2 数据定义伪操作 50
2.6.3 汇编控制伪操作 52
2.6.4 杂项伪操作 54
2.6.5 GNU ARM汇编伪操作 58
2.7 ARM汇编实例 62
2.7.1 汇编语句格式 62
2.7.2 汇编语言的程序结构 63
2.7.3 程序实例 63
本章小结 65
第3章 ARM中的C语言和汇编混合编程 66
3.1 ATPCS介绍 66
3.1.1 寄存器的使用规则 66
3.1.2 数据栈使用规则 67
3.1.3 参数传递规则 68
3.2 内嵌汇编 69
3.2.1 内嵌汇编的语法格式 69
3.2.2 内嵌汇编指令的特点 69
3.2.3 内嵌汇编指令注意事项 71
3.2.4 内嵌汇编指令举例 73
3.3 ARM中的汇编和C语言相互调用 74
3.3.1 从汇编程序中访问C程序变量 74
3.3.2 C程序调用汇编程序 75
3.3.3 汇编程序调用C程序 76
本章小结 77
第4章 GPIO接口 78
4.1 GPIO概述 78
4.1.1 GPIO简介 78
4.1.2 GPIO寄存器 79
4.1.3 IO操作的步骤 80
4.2 按键控制LED实例 80
4.2.1 硬件原理图 80
4.2.2 实例测试 83
4.2.3 跑马灯实例 84
本章小结 86
第5章 存储器接口设计与应用 87
5.1 存储器概述 87
5.1.1 存储器分类 87
5.1.2 存储器的层次结构 89
5.1.3 ARM存储器系统 90
5.2 SDRAM内存管理 90
5.2.1 S5PV210地址空间 90
5.2.2 SDRAM工作原理 92
5.2.3 SDRAM存储控制器的使用 95
5.3 SDRAM存储器接口实例 95
5.3.1 SDRAM硬件接口电路 95
5.3.2 SDRAM控制器使用分析 97
5.3.3 程序设计及分析 99
5.3.4 实例测试 103
本章小结 103
第6章 中断系统原理与应用 104
6.1 中断的基本概念 104
6.1.1 中断的基本概念和处理过程 104
6.1.2 中断源、中断信号和中断向量 105
6.1.3 中断优先级和中断嵌套 106
6.1.4 中断响应条件与中断控制 106
6.2 S5PV210的中断系统 107
6.2.1 S5PV210的中断源 107
6.2.2 S5PV210的中断控制 108
6.3 S5PV210中断编写实例 112
6.3.1 中断控制程序编写步骤 112
6.3.2 中断实例 115
6.3.3 实例测试 123
本章小结 123
第7章 串口通信原理与应用 124
7.1 串口通信原理 124
7.1.1 串口通信的重要参数 124
7.1.2 串行通信接口 125
7.1.3 通用异步接收器和发送器(UART) 126
7.2 S5PV210的UART功能寄存器 129
7.2.1 UART控制寄存器 129
7.2.2 UART操作寄存器 132
7.3 UART通信实例(一) 133
7.3.1 查看电路连接图 133
7.3.2 翻查数据手册 134
7.3.3 确定关键定义 135
7.3.4 编写程序 135
7.3.5 实例测试 141
7.4 UART通信实例(二) 141
本章小结 144
第8章 ADC和触摸屏接口与应用 145
8.1 ADC工作原理 145
8.2 触摸屏结构和工作原理 146
8.2.1 触摸屏的工作原理 147
8.2.2 触摸屏的主要类型 147
8.3 S5PV210中的触摸屏接口 150
8.3.1 ADC工作模式 151
8.3.2 触摸屏接口模式 152
8.4 硬件连接 153
8.5 ADC及触摸屏接口特殊寄存器 154
8.6 触摸屏控制实例 155
8.7 滑动变阻器控制实例 160
本章小结 164
第9章 12C接口与应用 165
9.1 I2C总线协议 165
9.2 S5PV210的I2C总线控制器 166
9.2.1 S5PV210的I2C接口的主要特性 167
9.2.2 S5PV210的I2C总线接口 168
9.2.3 I/O描述 170
9.2.4 I2C总线控制相关寄存器 170
9.2.5 S5PV210的I2C总线操作方法 173
9.3 I2C总线应用实例 176
9.3.1 I2C接口和AT24C02的连接 176
9.3.2 读写AT24C02程序设计及分析 177
9.3.3 测试实例 179
本章小结 181
第10章 系统时钟与定时器 182
10.1 S5PV210的时钟体系 182
10.1.1 系统时钟概述 182
10.1.2 时钟声明 183
10.1.3 时钟的产生 185
10.1.4 每个子块最大工作频率 187
10.1.5 时钟配置过程 187
10.1.6 系统时钟相关寄存器 187
10.2 实时时钟RTC 200
10.2.1 实时时钟概述 200
10.2.2 实时时钟操作 200
10.3 PWM定时器 201
10.3.1 PWM定时器概述 201
10.3.2 PWM定时器操作 202
10.3.3 PWM定时器特殊寄存器 206
10.4 WATCHDOG定时器 207
10.5 定时器使用实例 209
10.5.1 PWM编程实例 209
10.5.2 WATCHDOG编程实例 211
本章小结 213
第11章 LCD接口设计与应用 214
11.1 LCD介绍 214
11.2 S5PV210的LCD控制器介绍 217
11.2.1 S5PV210显示控制器概述 217
11.2.2 显示控制器的主键特性 218
11.2.3 显示控制器的功能描述 219
11.2.4 数据流 219
11.2.5 接口 220
11.2.6 颜色数据概要 221
11.2.7 颜色空间转换(CSC) 230
11.2.8 调色板的使用 232
11.2.9 窗口混合 233
11.2.10 图像增强 238
11.2.11 VTIME控制器操作 240
11.2.12 设置的命令 242
11.2.13 虚拟显示 244
11.2.14 RGB接口说明 244
11.2.15 LCDiNDIRECTi80系统接口 248
11.2.16 LCD控制器特殊功能寄存器 250
11.3 TFT LCD显示实例 254
11.3.1 硬件电路的连接 254
11.3.2 程序设计与分析 257
11.3.4 测试实例 262
本章小结 263
第12章 IIS接口控制与应用 264
12.1 数字音频信号(IIS)介绍 264
12.2 S5PV210的IIS接口 266
12.2.1 发送接收模式 266
12.2.2 音频串行接口格式 267
12.2.3 IIS总线接口寄存器 269
12.3 S5PV210IIS控制程序编写实例 273
12.3.1 设备驱动程序简介 273
12.3.2 IIS总线接口实例 273
本章小结 292
第13章 DMA接口与应用 293
13.1 DMA的基本概念 293
13.1.1 DMA系统组成 293
13.1.2 DMA工作原理 294
13.1.3 DMA传输方式 294
13.1.4 DMA传输特点 294
13.2 S5PV210的DMA控制器 295
13.2.1 S5PV210的DMA概述 295
13.2.2 DMA控制器的主要特性 295
13.2.3 S5PV210的DMA特殊寄存器 297
13.3 S5PV210 DMA控制编写实例 298
13.3.1 DMA代码分析 298
13.3.2 DMA测试实例 300
本章小结 301
第14章 NAND Flash控制接口与应用 302
14.1 NOR Flash和NAND Flash 302
14.1.1 Flash闪存 302
14.1.2 NOR和NAND的比较 303
14.2 NAND Flash的物理结构 305
14.3 S5PV210的NAND Flash控制器 309
14.3.1 NAND Flash控制器的特性 309
14.3.2 NAND Flash的模块图 309
14.3.3 NAND Flash的引脚配置 309
14.3.4 NAND Flash存储器配置 310
14.3.5 NAND Flash寄存器 310
14.4 NAND Flash操作实例 313
14.4.1 NAND Flash读的步骤 313
14.4.2 NAND Flash写的步骤 316
14.4.3 NAND Flash读写程序设计实例 316
14.4.4 测试实例 322
本章小结 324
参考文献 325