第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章 存储器接口 156
9.1 Flash ROM介绍 156
9.2 NAND Flash操作 158
9.2.1 芯片介绍 158
9.2.2 读操作过程 159
9.2.3 擦除操作过程 160
9.2.4 写操作过程 161
9.3 S5PV210中NAND Flash控制器的操作 161
9.3.1 S5PV210 NAND Flash控制器概述 161
9.3.2 S5PV210 NAND Flash控制器寄存器详解 162
9.4 S5PV210 NAND Flash接口电路与程序设计 164
9.4.1 K9F2G080U和S5PV210的接口电路 164
9.4.2 S5PV210控制K9F2G080U的程序设计 164
9.5 本章小结 168
9.6 练习题 168
第10章 定时器与RTC 169
10.1 S5P V210 PWM定时器 169
10.1.1 PWM定时器概述 169
10.1.2 PWM定时器的特点 170
10.1.3 PWM定时器的寄存器 171
10.1.4 PWM定时器操作示例 176
10.2 S5PV210看门狗定时器 177
10.2.1 S5PV210看门狗定时器概述 177
10.2.2 看门狗定时器寄存器 178
10.2.3 看门狗定时器程序编写 179
10.3 RTC 181
10.3.1 RTC介绍 181
10.3.2 RTC控制器 182
10.3.3 RTC控制器寄存器详解 182
10.3.4 RTC测试例子 184
10.4 本章小结 185
10.5 练习题 185
第11章 A/D转换器 186
11.1 A/D转换器原理 186
11.1.1 A/D转换基础 186
11.1.2 A/D转换的技术指标 187
11.1.3 A/D转换器类型 188
11.1.4 A/D转换的一般步骤 192
11.2 S5PV210 A/D转换器 192
11.2.1 S5PV210 A/D转换器概述 192
11.2.2 S5PV210 A/D控制器寄存器 193
11.3 A/D转换器应用举例 195
11.3.1 电路连接 195
11.3.2 程序编写 195
11.3.3 调试与运行结果 196
11.4 本章小结 197
11.5 练习题 197
第12章 DMA(PL330)控制器 198
12.1 PL330原理概述 198
12.1.1 DMAC简述 198
12.1.2 S5PV210下的DMAC模型 199
12.1.3 PL330简述 200
12.2 PL330详解 202
12.2.1 PL330指令集 202
12.2.2 相关寄存器详解 207
12.3 S5PV210 PL330测试例子 209
12.4 本章小结 213
12.5 练习题 213
第13章 LCD接口设计 214
13.1 LCD控制器 214
13.1.1 LCD控制器介绍 214
13.1.2 S5PV210的 LCD控制器介绍 215
13.1.3 S5PV210的LCD控制器操作 216
13.1.4 LCD控制器寄存器 218
13.2 LCD控制器实例 223
13.3 本章小结 227
13.4 练习题 227
第14章 CAMIF接口技术 228
14.1 OV9650介绍 228
14.1.1 芯片功能描述 228
14.1.2 OV9650物理参数 229
14.1.3 OV9650寄存器详解 230
14.2 SCCB总线 232
14.2.1 SCCB协议介绍 232
14.2.2 SCCB的总线编程 233
14.3 CAMIF接口详解 234
14.3.1 基于S5PV210的CAMIF接口介绍 234
14.3.2 S5PV210 CAMIF寄存器详解 236
14.3.3 CAMIF操作案例 239
14.4 本章小结 243
14.5 练习题 243
第15章 SPI接口 244
15.1 SPI总线协议理论 244
15.1.1 协议简介 244
15.1.2 协议内容 244
15.2 SPI控制器详解 246
15.2.1 S5PV210的SPI控制器简介 246
15.2.2 时钟源控制 247
15.2.3 寄存器详解 247
15.3 SPI开发例子 249
15.4 本章小结 255
15.5 练习题 255
第16章 I2C接口 256
16.1 I2C总线 256
16.1.1 I2C总线介绍 256
16.1.2 I2C总线术语 256
16.1.3 I2C总线位传输 257
16.1.4 I2C总线数据传输 257
16.1.5 I2C总线寻址方式 258
16.1.6 快速和高速模式 259
16.2 I2C总线控制器 260
16.2.1 S5PV210下的I2C控制器介绍 260
16.2.2 I2C总线控制寄存器详解 260
16.3 I2C总线的实际应用 262
16.3.1 应用分析 262
16.3.2 代码实现 266
16.4 本章小结 267
16.5 练习题 267
参考文献 268
· · · · · · (
收起)