《ARM技术原理与应用(第2版)》由侯冬晴编著,第2版在第1版的基础上做了以下几方面修改。
(1)修正了第1版中的错误,在编写教材的第1版时,由于作者水平和能力有限,所以在教材中出现许多错误,这些错误在第2版中一一得到更正。
(2)增加了3章内容,它们分别是第7章异常中断编程、第12章输入输出端口、第13章串行口,这3章内容的增加使得本教材的知识体系更加完善。
(3)删除了第1版中的第15章ADS软件的使用,主要是考虑ADS是ARM系统的编译和调试集成环境,属于应用软件,读者只需要稍加自学就能够掌握,所以第2版中删除了对ADS软件使用的讲解。
(4)将第1版中的第14章ARM硬件平台,在第2版中调至第8章,因为在这一章讲解了ARM平台的外围模块设计,为第8章以后章节的学习准备了基础。
《ARM技术原理与应用(第2版)》由侯冬晴编著,全书共分17章,以三星公司的S3C2410A ARM9微处理器为蓝本,从内到外阐述了ARM微处理器的工作原理和应用。书中主要介绍ARM微处理器概述、S3C2410处理器、ARM微处理器的工作模式和异常、ARM指令集、Thumb指令集及程序设计、ARM程序设计、异常中断编程、ARM硬件平台、存储器控制、NAND闪存控制、时钟和电源管理、输入输出端口、串行口、脉宽调制定时器、直接存储器访问、S3C2410液晶控制、S3C2410A触摸屏控制。
ARM技术涉及的课程比较多,微处理器本身的内容也较多,如何从众多的知识选取部分知识形成ARM技术的入门教材,这本身就是一个难题。本书选取ARM技术中最基本、最核心的部分向读者讲解ARM技术的工作原理和应用,读者完成对本书的学习后,将迈入ARM技术的殿堂,为以后从事ARM技术的相关工作打下坚实的基础。
《ARM技术原理与应用(第2版)》可作为各类高等院校电子专业、电气专业、通信专业和计算机专业的ARM技术的基础教材,也可作为从事ARM技术相关科技人员的参考书。
第1章 ARM微处理器概述/1
1.1ARM简介/1
1.2ARM微处理器的应用领域/1
1.3ARM微处理器系列/2
1.3.1ARM核的命名规则/2
1.3.2体系结构的发展/2
1.3.3ARM各微处理器系列/3
1.4ARM微处理器结构/6
1.5ARM处理器的选型/7
1.6ARM技术发展新趋势/12
1.7本章小结/13
习题/13
第2章 S3C2410A处理器/14
2.1S3C2410A处理器/14
2.2S3C2410A的特点/15
2.3S3C2410A内部结构/19
2.4S3C2410A引脚分布/20
2.5S3C2410A的引脚名称/20
2.5.1S3C2410A的引脚名称简介/20
2.5.2引脚功能/23
2.6S3C2410A的专用寄存器分区表/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寄存器/323.2.2ARM状态下寄存器集/34
3.2.3Thumb状态下寄存器集/34
3.2.4程序寄存器状态(CPSR)/35
3.3ARM处理器异常/38
3.3.1异常中断向量/39
3.3.2异常中断/39
3.3.3中断延迟/42
3.4本章小结/44
习题/44
第4章 ARM指令集/45
4.1精简指令集和复杂指令集/45
4.2ARM处理器寻址方式/46
4.3ARM指令集/49
4.3.1汇编指令格式/49
4.3.2ARM存储器访问指令/52
4.3.3ARM数据处理指令/59
4.3.4乘法指令/64
4.3.5ARM跳转指令/66
4.3.6ARM协处理器指令/67
4.3.7ARM杂项指令/69
4.3.8ARM伪指令/72
4.4本章小结/75
习题/75
第5章 Thumb指令集及程序设计/77
5.1Thumb指令集概述/77
5.2Thumb指令集/78
5.2.1Thumb存储器访问指令/78
5.2.2Thumb数据处理指令/81
5.2.3Thumb跳转指令/90
5.2.4Thumb软件中断指令/91
5.2.5Thumb伪指令/91
5.3ARM伪指令/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.5ATPCS介绍/130
6.5.1基本ATPCS/131
6.5.2ARM和Thumb程序混合使用的ATPCS/132
6.6ARM和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.3C程序内嵌汇编指令/138
6.7.4C程序调用汇编程序/144
6.8本章小结/145
习题/145
第7章 异常中断编程/147
7.1ARM的异常和中断/147
7.1.1异常和中断的基本概念/147
7.1.2ARM的异常中断/148
7.1.3向量表/149
7.1.4异常的优先级别/150
7.2ARM异常中断的处理过程/151
7.2.1异常中断响应过程/151
7.2.2异常中断的返回/153
7.3复位处理程序/154
7.3.1复位/154
7.3.2复位处理编程/154
7.4SWI异常处理程序/156
7.4.1SWI异常处理程序的实现/157
7.4.2SWI异常调用/159
7.5SWI程序的编写示例/160
7.6FIQ和IRQ中断处理程序/165
7.6.1IRQ/FIQ中断处理机制/165
7.6.2IRQ/FIQ中断处理程序/166
7.6.3IRQ异常中断处理程序举例/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.1NOR闪存/175
8.4.2NAND闪存/176
8.4.3同步存储器SDRAM/177
8.5网络控制器CS8900A/178
8.6ARM硬件平台原理图/179
8.6.1S3C2410A CPU模块/179
8.6.2S3C2410A与同步存储器的连接/179
8.6.3NOR闪存和NAND闪存的连接/183
8.6.4网络控制器CS8900A的连接/183
8.6.5电源模块/183
8.6.6LCD驱动模块及触摸屏控制连接/183
8.6.7USB、网络接口及红外连接/188
8.6.8VGA显示连接/188
8.6.9按键、LED灯和复位电路/188
8.6.10串行口/188
8.6.11硬件平台模块总图/188
8.7本章小结/194
习题/195
第9章 存储器控制/196
9.1S3C2410A存储控制器/196
9.2存储器控制器的功能描述/199
9.2.1BANK0总线宽度/199
9.2.2S3C2410A与存储器的连接/199
9.2.3S3C2410A的工作时序/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.2K9F1208 NAND闪存的特点/211
10.3K9F1208 NAND闪存引脚及功能/211
10.4K9F1208 NAND闪存的内部组织、数据传送
和内部逻辑结构/212
10.5NAND闪存的命令设置/214
10.6K9F1208存储分布/214
10.7K9F1208操作/215
10.7.1NAND闪存的写入操作/215
10.7.2NAND闪存的擦除和读操作/216
10.7.3读器件的ID号/217
10.8S3C2410A NAND闪存控制器/220
10.9NAND闪存控制寄存器/221
10.10NAND闪存编程实现/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.2S3C2410A串口操作/255
13.3S3C2410A串口控制寄存器/258
13.4串口应用举例/262
13.5本章小结/264
习题/264
第14章 脉宽调制定时器/265
14.1脉宽调制的基本知识/265
14.2S3C2410A脉宽调制定时器/266
14.3定时器操作步骤/269
14.4脉宽调制/270
14.5看门狗定时器/272
14.6脉宽调制定时器的控制寄存器/273
14.7脉宽调制定时器的应用/277
14.8本章小结/279
习题/279
第15章 直接存储器访问/280
15.1S3C2410A 直接存储访问控制器概述/280
15.2基本的DMA时序/281
15.3S3C2410A直接存储访问的特殊功能寄存器/285
15.4S3C2410A DMA控制器的应用实例/289
15.5本章小结/293
习题/293
第16章 S3C2410A液晶控制/294
16.1液晶屏的基本知识/294
16.1.1液晶屏发展历程/294
16.1.2液晶显示器的种类/294
16.1.3STN屏和TFT屏比较/295
16.1.4LCD屏的参数/296
16.2S3C2410A液晶控制器/296
16.2.1S3C2410A支持STN和TFT显示器/296
16.2.2支持STN和TFT显示器/296
16.2.3S3C2410A液晶屏控制器的硬件特点/297
16.3液晶控制的内部结构及外部引脚/297
16.3.1液晶控制的内部结构/297
16.3.2液晶控制相关外部引脚/298
16.4S3C2410A的STN型LCD控制操作/299
16.4.1时钟发生器/299
16.4.2视频操作/300
16.4.3抖动和帧频控制/301
16.4.4LCD控制器显示扫描类型/302
16.4.5内存中显示数据格式/303
16.5时序要求/303
16.6LCD应用编程/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.3S3C2410A的ADC和触摸屏接口/314
17.3.1S3C2410A触摸屏控制器的概述/314
17.3.2S3C2410A触摸屏控制器的内部结构/315
17.3.3S3C2410A触摸屏接口举例/315
17.3.4功能描述/316
17.4触摸屏的应用编程/317
17.5本章小结/320
习题/320
附录AARM指令/321
附录BThumb指令/325
附录C伪指令表/329
参考文献/334