书籍详情
ARM处理器开发详解:基于ARM Cortex-A8处理器的开发设计(第2版)
作者:华清远见嵌入式学院,刘洪涛,甘炜国 著
出版社:电子工业出版社
出版时间:2014-06-01
ISBN:9787121231612
定价:¥55.00
购买这本书可以去
内容简介
作为一种32位高性能、低成本的嵌入式RISC微处理器,ARM目前已经成为应用最广泛的嵌入式处理器。目前Cortex-A系列处理器已经占据了大部分中高端产品市场。本书在全面介绍Cortex-A8处理器的体系结构、编程模型、指令系统及开发环境的同时,以基于Cortex-A8的应用处理器――S5PV210为核心,详细介绍了系统的设计及相关接口技术。接口技术涵盖了I/O、中断、串口、存储器、PWM、A/D、DMA、IIC、SPI、Camera、LCD等,并提供了大量的实验例程。
作者简介
2005~2007年 北京利达集团2007~2013年 北京华清远见教育集团曾出版《嵌入式系统技术与设计》 人民邮电出版社 2009.1《ARM体系结构与接口技术》人民邮电出版社2009.8《ARM处理器开发详解》 电子工业出版社 2012.9
目录
目 录
第1章 嵌入式系统基础知识 1
1.1 嵌入式系统概述 1
1.1.1 嵌入式系统简介 1
1.1.2 嵌入式系统的特点 2
1.1.3 嵌入式系统的发展 3
1.2 嵌入式系统的组成 5
1.2.1 嵌入式系统硬件组成 5
1.2.2 嵌入式系统软件组成 6
1.3 嵌入式操作系统举例 7
1.3.1 商业版嵌入式操作系统 7
1.3.2 开源版嵌入式操作系统 7
1.4 嵌入式系统开发概述 8
1.5 学好微处理器在嵌入式学习中的重要性 14
1.6 本章小结 15
1.7 思考题 16
第2章 ARM技术概述 17
2.1 ARM体系结构的技术特征及发展 17
2.1.1 ARM公司简介 17
2.1.2 ARM技术特征 18
2.1.3 ARM体系架构的发展 19
2.2 ARM微处理器简介 20
2.2.1 ARM9 处理器系列 21
2.2.2 ARM9E 处理器系列 22
2.2.3 ARM11 处理器系列 22
2.2.4 SecurCore 处理器系列 23
2.2.5 StrongARM和Xscale 处理器系列 23
2.2.6 MPCore 处理器系列 23
2.2.7 Cortex处理器系列 24
2.2.8 ARM应用处理器的最新发展现状 26
2.3 ARM 微处理器结构 27
2.4 ARM 微处理器的应用选型 27
2.4.1 ARM芯片选择的一般原则 28
2.4.2 选择一款适合ARM教学的CPU 28
2.5 Cortex-A8内部功能及特点 31
2.6 数据类型 32
2.6.1 ARM的基本数据类型 32
2.6.2 浮点数据类型 33
2.6.3 存储器大/小端 33
2.7 Cortex-A8内核工作模式 34
2.8 Cortex-A8存储系统 35
2.8.1 协处理器(CP15) 36
2.8.2 存储管理单元(MMU) 37
2.8.3 高速缓冲存储器(Cache) 37
2.9 流水线 37
2.9.1 流水线的概念与原理 37
2.9.2 流水线的分类 38
2.9.3 影响流水线性能的因素 40
2.10 寄存器组织 40
2.11 程序状态寄存器 43
2.12 三星S5PC210处理器介绍 46
2.13 FS_S5PC210开发平台介绍 47
2.14 本章小结 49
2.15 练习题 50
第3章 ARM微处理器的指令系统 51
3.1 ARM处理器的寻址方式 51
3.1.1 数据处理指令寻址方式 51
3.1.2 内存访问指令寻址方式 53
3.2 ARM处理器的指令集 55
3.2.1 数据操作指令 55
3.2.2 乘法指令 62
3.2.3 Load/Store指令 65
3.2.4 跳转指令 71
3.2.5 状态操作指令 74
3.2.6 协处理器指令 76
3.2.7 异常产生指令 80
3.2.8 其他指令介绍 81
3.3 本章小结 83
3.4 思考题 83
第4章 ARM汇编语言程序设计 85
4.1 GNU ARM汇编器支持的伪操作 85
4.1.1 伪操作概述 85
4.1.2 数据定义(Data Definition)伪操作 85
4.1.3 汇编控制伪操作 87
4.1.4 杂项伪操作 89
4.2 ARM汇编器支持的伪指令 89
4.2.1 ADR伪指令 89
4.2.2 ADRL伪指令 90
4.2.3 LDR伪指令 91
4.3 GNU ARM 汇编语言的语句格式 92
4.4 ARM 汇编语言的程序结构 94
4.4.1 汇编语言的程序格式 94
4.4.2 汇编语言子程序调用 95
4.4.3 过程调用标准AAPCS 95
4.4.4 汇编语言程序设计举例 97
4.5 汇编语言与C语言的混合编程 98
4.5.1 GNU ARM内联汇编 98
4.5.2 混合编程调用举例 100
4.6 本章小结 102
4.7 思考题 102
第5章 ARM开发及环境搭建 103
5.1 仿真器简介 103
5.1.1 FS-JTAG仿真器介绍 103
5.1.2 ULINK介绍 104
5.2 开发环境搭建 105
5.3 Eclipse for ARM 使用 108
5.4 编译工程 109
5.5 调试工程 110
5.5.1 配置FS-JTAG 调试工具 110
5.5.2 配置调试工具 111
5.6 本章小结 114
5.7 练习题 114
第6章 GPIO编程 115
6.1 GPIO功能介绍 115
6.2 S5PV210芯片的GPIO控制器详解 115
6.2.1 特性 115
6.2.2 GPIO分组预览 116
6.2.3 S5PV2100的GPIO常用寄存器分类 116
6.2.4 GPIO功能描述 117
6.2.5 S5PV210 I/O接口常用寄存器详解 118
6.2.6 GPIO数据寄存器 118
6.3 S5PV210 GPIO的应用 118
6.3.1 电路连接 119
6.3.2 寄存器设置 119
6.3.3 程序编写 119
6.4 本章小结 120
6.5 练习题 120
第7章 ARM异常及中断处理 121
7.1 ARM异常中断处理概述 121
7.2 ARM体系异常种类 122
7.3 ARM异常的优先级 127
7.4 ARM处理器模式和异常 127
7.5 ARM异常响应和处理程序返回 128
7.5.1 中断响应的概念 128
7.5.2 ARM异常响应流程 128
7.5.3 从异常处理程序中返回 129
7.6 ARM的SWI异常中断处理程序设计 131
7.7 FIQ和IRQ中断 133
7.7.1 中断分支 133
7.7.2 S5PV210中断机制分析 135
7.7.3 S5PV210中断处理程序实例 138
7.8 本章小结 141
7.9 练习题 141
第8章 串行通信接口 142
8.1 串行通信概述 142
8.1.1 串行通信与并行通信概念 142
8.1.2 异步串行方式的特点 142
8.1.3 异步串行方式的数据格式 143
8.1.4 同步串行方式的特点 143
8.1.5 同步串行方式的数据格式 143
8.1.6 比特率、比特率因子与位周期 144
8.1.7 RS-232C串口规范 144
8.1.8 RS-232C接线方式 146
8.2 S5PV210异步串行通信 146
8.2.1 S5PV210串口控制器概述 146
8.2.2 UART寄存器详解 148
8.3 接口电路与程序设计 152
8.3.1 电路连接 152
8.3.2 程序编写 153
8.3.3 调试与运行结果 154
8.4 本章小结 155
8.5 练习题 155
第9章 存储器接口 158
9.1 Flash ROM介绍 158
9.2 NAND Flash操作 160
9.2.1 芯片介绍 160
9.2.2 读操作过程 161
9.2.3 擦除操作过程 162
9.2.4 写操作过程 163
9.3 S5PV210中NAND Flash控制器的操作 163
9.3.1 S5PV210 NAND Flash控制器概述 163
9.3.2 S5PV210 NAND Flash控制器寄存器详解 164
9.4 S5PV210 NAND Flash接口电路与程序设计 166
9.4.1 K9F2G080U和S5PV210的接口电路 166
9.4.2 S5PV210控制K9F2G080U的程序设计 166
9.5 本章小结 170
9.6 练习题 170
第10章 定时器与RTC 171
10.1 S5P V210 PWM定时器 171
10.1.1 PWM定时器概述 171
10.1.2 PWM定时器的特点 172
10.1.3 PWM定时器的寄存器 173
10.1.4 PWM定时器操作示例 178
10.2 S5PV210看门狗定时器 179
10.2.1 S5PV210看门狗定时器概述 179
10.2.2 看门狗定时器寄存器 180
10.2.3 看门狗定时器程序编写 181
10.3 RTC 183
10.3.1 RTC介绍 183
10.3.2 RTC控制器 184
10.3.3 RTC控制器寄存器详解 184
10.3.4 RTC测试例子 186
10.4 本章小结 187
10.5 练习题 187
第11章 A/D转换器 188
11.1 A/D转换器原理 188
11.1.1 A/D转换基础 188
11.1.2 A/D转换的技术指标 189
11.1.3 A/D转换器类型 190
11.1.4 A/D转换的一般步骤 194
11.2 S5PV210 A/D转换器 194
11.2.1 S5PV210 A/D转换器概述 194
11.2.2 S5PV210 A/D控制器寄存器 195
11.3 A/D转换器应用举例 197
11.3.1 电路连接 197
11.3.2 程序编写 197
11.3.3 调试与运行结果 198
11.4 本章小结 199
11.5 练习题 199
第12章 DMA(PL330)控制器 200
12.1 PL330原理概述 200
12.1.1 DMAC简述 200
12.1.2 S5PV210下的DMAC模型 201
12.1.3 PL330简述 202
12.2 PL330详解 204
12.2.1 PL330指令集 204
12.2.2 相关寄存器详解 209
12.3 S5PV210 PL330测试例子 211
12.4 本章小结 215
12.5 练习题 215
第13章 LCD接口设计 222
13.1 LCD控制器 222
13.1.1 LCD控制器介绍 222
13.1.2 S5PV210的 LCD控制器介绍 223
13.1.3 S5PV210的LCD控制器操作 224
13.1.4 LCD控制器寄存器 226
13.2 LCD控制器实例 231
13.3 本章小结 235
13.4 练习题 235
第14章 CAMIF接口技术 236
14.1 OV9650介绍 236
14.1.1 芯片功能描述 236
14.1.2 OV9650物理参数 237
14.1.3 OV9650寄存器详解 238
14.2 SCCB总线 240
14.2.1 SCCB协议介绍 240
14.2.2 SCCB的总线编程 241
14.3 CAMIF接口详解 242
14.3.1 基于S5PV210的CAMIF接口介绍 242
14.3.2 S5PV210 CAMIF寄存器详解 244
14.3.3 CAMIF操作案例 248
14.4 本章小结 251
14.5 练习题 251
第15章 SPI接口 252
15.1 SPI总线协议理论 252
15.1.1 协议简介 252
15.1.2 协议内容 252
15.2 SPI控制器详解 254
15.2.1 S5PV210的SPI控制器简介 254
15.2.2 时钟源控制 255
15.2.3 寄存器详解 255
15.3 SPI开发例子 257
15.4 本章小结 263
15.5 练习题 263
第16章 I2C接口 264
16.1 I2C总线 264
16.1.1 I2C总线介绍 264
16.1.2 I2C总线术语 264
16.1.3 I2C总线位传输 265
16.1.4 I2C总线数据传输 265
16.1.5 I2C总线寻址方式 266
16.1.6 快速和高速模式 267
16.2 I2C总线控制器 268
16.2.1 S5PV210下的I2C控制器介绍 268
16.2.2 I2C总线控制寄存器详解 268
16.3 I2C总线的实际应用 270
16.3.1 应用分析 270
16.3.2 代码实现 274
16.4 本章小结 275
16.5 练习题 275
第1章 嵌入式系统基础知识 1
1.1 嵌入式系统概述 1
1.1.1 嵌入式系统简介 1
1.1.2 嵌入式系统的特点 2
1.1.3 嵌入式系统的发展 3
1.2 嵌入式系统的组成 5
1.2.1 嵌入式系统硬件组成 5
1.2.2 嵌入式系统软件组成 6
1.3 嵌入式操作系统举例 7
1.3.1 商业版嵌入式操作系统 7
1.3.2 开源版嵌入式操作系统 7
1.4 嵌入式系统开发概述 8
1.5 学好微处理器在嵌入式学习中的重要性 14
1.6 本章小结 15
1.7 思考题 16
第2章 ARM技术概述 17
2.1 ARM体系结构的技术特征及发展 17
2.1.1 ARM公司简介 17
2.1.2 ARM技术特征 18
2.1.3 ARM体系架构的发展 19
2.2 ARM微处理器简介 20
2.2.1 ARM9 处理器系列 21
2.2.2 ARM9E 处理器系列 22
2.2.3 ARM11 处理器系列 22
2.2.4 SecurCore 处理器系列 23
2.2.5 StrongARM和Xscale 处理器系列 23
2.2.6 MPCore 处理器系列 23
2.2.7 Cortex处理器系列 24
2.2.8 ARM应用处理器的最新发展现状 26
2.3 ARM 微处理器结构 27
2.4 ARM 微处理器的应用选型 27
2.4.1 ARM芯片选择的一般原则 28
2.4.2 选择一款适合ARM教学的CPU 28
2.5 Cortex-A8内部功能及特点 31
2.6 数据类型 32
2.6.1 ARM的基本数据类型 32
2.6.2 浮点数据类型 33
2.6.3 存储器大/小端 33
2.7 Cortex-A8内核工作模式 34
2.8 Cortex-A8存储系统 35
2.8.1 协处理器(CP15) 36
2.8.2 存储管理单元(MMU) 37
2.8.3 高速缓冲存储器(Cache) 37
2.9 流水线 37
2.9.1 流水线的概念与原理 37
2.9.2 流水线的分类 38
2.9.3 影响流水线性能的因素 40
2.10 寄存器组织 40
2.11 程序状态寄存器 43
2.12 三星S5PC210处理器介绍 46
2.13 FS_S5PC210开发平台介绍 47
2.14 本章小结 49
2.15 练习题 50
第3章 ARM微处理器的指令系统 51
3.1 ARM处理器的寻址方式 51
3.1.1 数据处理指令寻址方式 51
3.1.2 内存访问指令寻址方式 53
3.2 ARM处理器的指令集 55
3.2.1 数据操作指令 55
3.2.2 乘法指令 62
3.2.3 Load/Store指令 65
3.2.4 跳转指令 71
3.2.5 状态操作指令 74
3.2.6 协处理器指令 76
3.2.7 异常产生指令 80
3.2.8 其他指令介绍 81
3.3 本章小结 83
3.4 思考题 83
第4章 ARM汇编语言程序设计 85
4.1 GNU ARM汇编器支持的伪操作 85
4.1.1 伪操作概述 85
4.1.2 数据定义(Data Definition)伪操作 85
4.1.3 汇编控制伪操作 87
4.1.4 杂项伪操作 89
4.2 ARM汇编器支持的伪指令 89
4.2.1 ADR伪指令 89
4.2.2 ADRL伪指令 90
4.2.3 LDR伪指令 91
4.3 GNU ARM 汇编语言的语句格式 92
4.4 ARM 汇编语言的程序结构 94
4.4.1 汇编语言的程序格式 94
4.4.2 汇编语言子程序调用 95
4.4.3 过程调用标准AAPCS 95
4.4.4 汇编语言程序设计举例 97
4.5 汇编语言与C语言的混合编程 98
4.5.1 GNU ARM内联汇编 98
4.5.2 混合编程调用举例 100
4.6 本章小结 102
4.7 思考题 102
第5章 ARM开发及环境搭建 103
5.1 仿真器简介 103
5.1.1 FS-JTAG仿真器介绍 103
5.1.2 ULINK介绍 104
5.2 开发环境搭建 105
5.3 Eclipse for ARM 使用 108
5.4 编译工程 109
5.5 调试工程 110
5.5.1 配置FS-JTAG 调试工具 110
5.5.2 配置调试工具 111
5.6 本章小结 114
5.7 练习题 114
第6章 GPIO编程 115
6.1 GPIO功能介绍 115
6.2 S5PV210芯片的GPIO控制器详解 115
6.2.1 特性 115
6.2.2 GPIO分组预览 116
6.2.3 S5PV2100的GPIO常用寄存器分类 116
6.2.4 GPIO功能描述 117
6.2.5 S5PV210 I/O接口常用寄存器详解 118
6.2.6 GPIO数据寄存器 118
6.3 S5PV210 GPIO的应用 118
6.3.1 电路连接 119
6.3.2 寄存器设置 119
6.3.3 程序编写 119
6.4 本章小结 120
6.5 练习题 120
第7章 ARM异常及中断处理 121
7.1 ARM异常中断处理概述 121
7.2 ARM体系异常种类 122
7.3 ARM异常的优先级 127
7.4 ARM处理器模式和异常 127
7.5 ARM异常响应和处理程序返回 128
7.5.1 中断响应的概念 128
7.5.2 ARM异常响应流程 128
7.5.3 从异常处理程序中返回 129
7.6 ARM的SWI异常中断处理程序设计 131
7.7 FIQ和IRQ中断 133
7.7.1 中断分支 133
7.7.2 S5PV210中断机制分析 135
7.7.3 S5PV210中断处理程序实例 138
7.8 本章小结 141
7.9 练习题 141
第8章 串行通信接口 142
8.1 串行通信概述 142
8.1.1 串行通信与并行通信概念 142
8.1.2 异步串行方式的特点 142
8.1.3 异步串行方式的数据格式 143
8.1.4 同步串行方式的特点 143
8.1.5 同步串行方式的数据格式 143
8.1.6 比特率、比特率因子与位周期 144
8.1.7 RS-232C串口规范 144
8.1.8 RS-232C接线方式 146
8.2 S5PV210异步串行通信 146
8.2.1 S5PV210串口控制器概述 146
8.2.2 UART寄存器详解 148
8.3 接口电路与程序设计 152
8.3.1 电路连接 152
8.3.2 程序编写 153
8.3.3 调试与运行结果 154
8.4 本章小结 155
8.5 练习题 155
第9章 存储器接口 158
9.1 Flash ROM介绍 158
9.2 NAND Flash操作 160
9.2.1 芯片介绍 160
9.2.2 读操作过程 161
9.2.3 擦除操作过程 162
9.2.4 写操作过程 163
9.3 S5PV210中NAND Flash控制器的操作 163
9.3.1 S5PV210 NAND Flash控制器概述 163
9.3.2 S5PV210 NAND Flash控制器寄存器详解 164
9.4 S5PV210 NAND Flash接口电路与程序设计 166
9.4.1 K9F2G080U和S5PV210的接口电路 166
9.4.2 S5PV210控制K9F2G080U的程序设计 166
9.5 本章小结 170
9.6 练习题 170
第10章 定时器与RTC 171
10.1 S5P V210 PWM定时器 171
10.1.1 PWM定时器概述 171
10.1.2 PWM定时器的特点 172
10.1.3 PWM定时器的寄存器 173
10.1.4 PWM定时器操作示例 178
10.2 S5PV210看门狗定时器 179
10.2.1 S5PV210看门狗定时器概述 179
10.2.2 看门狗定时器寄存器 180
10.2.3 看门狗定时器程序编写 181
10.3 RTC 183
10.3.1 RTC介绍 183
10.3.2 RTC控制器 184
10.3.3 RTC控制器寄存器详解 184
10.3.4 RTC测试例子 186
10.4 本章小结 187
10.5 练习题 187
第11章 A/D转换器 188
11.1 A/D转换器原理 188
11.1.1 A/D转换基础 188
11.1.2 A/D转换的技术指标 189
11.1.3 A/D转换器类型 190
11.1.4 A/D转换的一般步骤 194
11.2 S5PV210 A/D转换器 194
11.2.1 S5PV210 A/D转换器概述 194
11.2.2 S5PV210 A/D控制器寄存器 195
11.3 A/D转换器应用举例 197
11.3.1 电路连接 197
11.3.2 程序编写 197
11.3.3 调试与运行结果 198
11.4 本章小结 199
11.5 练习题 199
第12章 DMA(PL330)控制器 200
12.1 PL330原理概述 200
12.1.1 DMAC简述 200
12.1.2 S5PV210下的DMAC模型 201
12.1.3 PL330简述 202
12.2 PL330详解 204
12.2.1 PL330指令集 204
12.2.2 相关寄存器详解 209
12.3 S5PV210 PL330测试例子 211
12.4 本章小结 215
12.5 练习题 215
第13章 LCD接口设计 222
13.1 LCD控制器 222
13.1.1 LCD控制器介绍 222
13.1.2 S5PV210的 LCD控制器介绍 223
13.1.3 S5PV210的LCD控制器操作 224
13.1.4 LCD控制器寄存器 226
13.2 LCD控制器实例 231
13.3 本章小结 235
13.4 练习题 235
第14章 CAMIF接口技术 236
14.1 OV9650介绍 236
14.1.1 芯片功能描述 236
14.1.2 OV9650物理参数 237
14.1.3 OV9650寄存器详解 238
14.2 SCCB总线 240
14.2.1 SCCB协议介绍 240
14.2.2 SCCB的总线编程 241
14.3 CAMIF接口详解 242
14.3.1 基于S5PV210的CAMIF接口介绍 242
14.3.2 S5PV210 CAMIF寄存器详解 244
14.3.3 CAMIF操作案例 248
14.4 本章小结 251
14.5 练习题 251
第15章 SPI接口 252
15.1 SPI总线协议理论 252
15.1.1 协议简介 252
15.1.2 协议内容 252
15.2 SPI控制器详解 254
15.2.1 S5PV210的SPI控制器简介 254
15.2.2 时钟源控制 255
15.2.3 寄存器详解 255
15.3 SPI开发例子 257
15.4 本章小结 263
15.5 练习题 263
第16章 I2C接口 264
16.1 I2C总线 264
16.1.1 I2C总线介绍 264
16.1.2 I2C总线术语 264
16.1.3 I2C总线位传输 265
16.1.4 I2C总线数据传输 265
16.1.5 I2C总线寻址方式 266
16.1.6 快速和高速模式 267
16.2 I2C总线控制器 268
16.2.1 S5PV210下的I2C控制器介绍 268
16.2.2 I2C总线控制寄存器详解 268
16.3 I2C总线的实际应用 270
16.3.1 应用分析 270
16.3.2 代码实现 274
16.4 本章小结 275
16.5 练习题 275
猜您喜欢