第1章 ARM微处理器概述 1
1.1 ARM简介 1
1.2 ARM微处理器的应用领域 1
1.3 ARM微处理器系列 2
1.3.1 ARM核的命名规则 2
1.3.2体系结构的发展 2
1.3.3 ARM各微处理器系列 3
1.4 ARM微处理器结构 6
1.5 ARM处理器的选型 7
1.6 ARM技术发展新趋势 12
1.7本章小结 13
习题 13
第2章 S3C2410A处理器 14
2.1 S3C2410A处理器 14
2.2 S3C2410A的特点 15
2.3 S3C2410A内部结构 19
2.4 S3C2410A引脚分布 20
2.5 S3C2410A的引脚名称 20
2.5.1 S3C2410A的引脚名称简介 20
2.5.2引脚功能 23
2.6 S3C2410A的专用寄存器分区表 28
2.7本章小结 29
习题 29
第3章 处理器工作模式 30
3.1处理器工作状态和空间 30
3.1.1处理器工作状态 30
3.1.2切换状态 30
3.1.3存储空间的格式 30
3.1.4数据类型 31
3.2处理器工作模式 32
3.2.1寄存器 32
3.2.2 ARM状态下寄存器集 34
3.2.3 Thumb状态下寄存器集 34
3.2.4程序寄存器状态(CPSR) 35
3.3 ARM处理器异常 38
3.3.1异常中断向量 39
3.3.2异常中断 39
3.3.3中断延迟 42
3.4本章小结 44
习题 44
第4章 ARM指令集 45
4.1精简指令集和复杂指令集 45
4.2 ARM处理器寻址方式 46
4.3 ARM指令集 49
4.3.1汇编指令格式 49
4.3.2 ARM存储器访问指令 52
4.3.3 ARM数据处理指令 59
4.3.4乘法指令 64
4.3.5 ARM跳转指令 66
4.3.6 ARM协处理器指令 67
4.3.7 ARM杂项指令 69
4.3.8 ARM伪指令 72
4.4本章小结 75
习题 75
第5章 Thumb指令集及程序设计 77
5.1Thumb指令集概述 77
5.2 Thumb指令集 78
5.2.1 Thumb存储器访问指令 78
5.2.2 Thumb数据处理指令 81
5.2.3 Thumb跳转指令 90
5.2.4 Thumb软件中断指令 91
5.2.5 Thumb伪指令 91
5.3 ARM伪指令 92
5.3.1符号定义伪指令 93
5.3.2数据定义伪指令 96
5.3.3报告伪指令 100
5.3.4汇编控制伪指令 101
5.3.5杂项伪指令 104
5.4本章小结 111
习题 111
第6章 ARM程序设计 113
6.1汇编语言源程序 113
6.2汇编语言程序中常用的符号 116
6.3汇编语言程序中的表达式和运算符 117
6.4汇编语言程序设计 120
6.4.1程序设计的步骤 120
6.4.2简单程序设计 122
6.4.3分支程序的设计 122
6.4.4循环程序设计 126
6.4.5子程序设计 129
6.5 ATPCS介绍 130
6.5.1基本ATPCS 131
6.5.2 ARM和Thumb程序混合使用的ATPCS 132
6.6 ARM和Thumb混合编程 133
6.6.1工作状态 133
6.6.2工作状态的切换 134
6.7汇编语言和C语言交互编程 136
6.7.1汇编程序访问C变量 136
6.7.2汇编程序调用C程序 137
6.7.3 C程序内嵌汇编指令 138
6.7.4 C程序调用汇编程序 144
6.8本章小结 145
习题 145
第7章 异常中断编程 147
7.1 ARM的异常和中断 147
7.1.1异常和中断的基本概念 147
7.1.2 ARM的异常中断 148
7.1.3向量表 149
7.1.4异常的优先级别 150
7.2 ARM异常中断的处理过程 151
7.2.1异常中断响应过程 151
7.2.2异常中断的返回 153
7.3复位处理程序 154
7.3.1复位 154
7.3.2复位处理编程 154
7.4 SWI异常处理程序 156
7.4.1 SWI异常处理程序的实现 157
7.4.2 SWI异常调用 159
7.5 SWI程序的编写示例 160
7.6 FIQ和IRQ中断处理程序 165
7.6.1 IRQFIQ中断处理机制 165
7.6.2 IRQFIQ中断处理程序 166
7.6.3 IRQ异常中断处理程序举例 169
7.7未定义指令异常 170
7.8本章小结 170
习题 171
第8章 ARM硬件平台 172
8.1ARM9硬件平台概述 172
8.2硬件平台的逻辑结构 172
8.3硬件平台的组件 173
8.4存储器 175
8.4.1 NOR闪存 175
8.4.2 NAND闪存 176
8.4.3同步存储器SDRAM 177
8.5网络控制器CS8900A 178
8.6 ARM硬件平台原理图 179
8.6.1S3C2410A CPU模块 179
8.6.2 S3C2410A与同步存储器的连接 179
8.6.3 NOR闪存和NAND闪存的连接 183
8.6.4网络控制器CS8900A的连接 183
8.6.5电源模块 183
8.6.6 LCD驱动模块及触摸屏控制连接 183
8.6.7 USB、网络接口及红外连接 188
8.6.8 VGA显示连接 188
8.6.9按键、LED灯和复位电路 188
8.6.10串行口 188
8.6.11硬件平台模块总图 188
8.7本章小结 194
习题 195
第9章 存储器控制 196
9.1 S3C2410A存储控制器 196
9.2存储器控制器的功能描述 199
9.2.1 BANK0总线宽度 199
9.2.2 S3C2410A与存储器的连接 199
9.2.3 S3C2410A的工作时序 201
9.3同步存储器K4S561632 204
9.3.1同步存储器K4S561632的特征 205
9.3.2功能方框图 205
9.3.3工作频率 205
9.3.4 引脚配置 206
9.4本章小结 207
习题 208
第10章 NAND闪存控制 209
10.1闪存的物理特性 209
10.2 K9F1208 NAND闪存的特点 211
10.3 K9F1208 NAND闪存引脚及功能 211
10.4 K9F1208 NAND闪存的内部组织、数据传送和内部逻辑结构 212
10.5 NAND闪存的命令设置 214
10.6 K9F1208存储分布 214
10.7 K9F1208操作 215
10.7.1 NAND闪存的写入操作 215
10.7.2 NAND闪存的擦除和读操作 216
10.7.3读器件的ID号 217
10.8 S3C2410A NAND闪存控制器 220
10.9 NAND闪存控制寄存器 221
10.10 NAND闪存编程实现 224
10.11本章小结 229
习题 229
第11章 时钟和电源管理 230
11.1时钟和电源管理概述 230
11.2时钟的功能描述 230
11.3锁相环 232
11.4时钟控制逻辑 233
11.5电源控制 236
11.6本章小结 239
习题 239
第12章 输入输出端口 240
12.1输入输出端口概述 240
12.2端口控制寄存器 244
12.3端口控制实验程序 249
12.4本章小结 251
习题 252
第13章 串行口 253
13.1串行通信概述 253
13.2 S3C2410A串口操作 255
13.3 S3C2410A串口控制寄存器 258
13.4串口应用举例 262
13.5本章小结 264
习题 264
第14章 脉宽调制定时器 265
14.1脉宽调制的基本知识 265
14.2 S3C2410A脉宽调制定时器 266
14.3定时器操作步骤 269
14.4脉宽调制 270
14.5看门狗定时器 272
14.6脉宽调制定时器的控制寄存器 273
14.7脉宽调制定时器的应用 277
14.8本章小结 279
习题 279
第15章 直接存储器访问 280
15.1 S3C2410A直接存储访问控制器概述 280
15.2基本的DMA时序 281
15.3 S3C2410A直接存储访问的特殊功能寄存器 285
15.4 S3C2410A DMA控制器的应用实例 289
15.5本章小结 293
习题 293
第16章 S3C2410A液晶控制 294
16.1液晶屏的基本知识 294
16.1.1液晶屏发展历程 294
16.1.2液晶显示器的种类 294
16.1.3 STN屏和TFT屏比较 295
16.1.4 LCD屏的参数 296
16.2 S3C2410A液晶控制器 296
16.2.1 S3C2410A支持STN和TFT显示器 296
16.2.2支持STN和TFT显示器 296
16.2.3 S3C2410A液晶屏控制器的硬件特点 297
16.3液晶控制的内部结构及外部引脚 297
16.3.1液晶控制的内部结构 297
16.3.2液晶控制相关外部引脚 298
16.4 S3C2410A的STN型LCD控制操作 299
16.4.1时钟发生器 299
16.4.2视频操作 300
16.4.3抖动和帧频控制 301
16.4.4 LCD控制器显示扫描类型 302
16.4.5内存中显示数据格式 303
16.5时序要求 303
16.6 LCD应用编程 305
16.7本章小结 307
习题 308
第17章 S3C2410A触摸屏控制 309
17.1触摸屏概述 309
17.2触摸屏的主要类型 309
17.2.1电阻触摸屏 309
17.2.2红外线触摸屏 311
17.2.3电容触摸屏 312
17.2.4表面声波触摸屏 313
17.3 S3C2410A的ADC和触摸屏接口 314
17.3.1 S3C2410A触摸屏控制器的概述 314
17.3.2 S3C2410A触摸屏控制器的内部结构 315
17.3.3 S3C2410A触摸屏接口举例 315
17.3.4功能描述 316
17.4触摸屏的应用编程 317
17.5本章小结 320
习题 320
附录A ARM指令 321
附录B Thumb指令 325
附录C伪指令表 329
参考文献 334