第1章 认识嵌入式计算机系统 1
1.1 嵌入式计算机系统的概述 1
1.1.1 嵌入式计算机系统的定义 1
1.1.2 嵌入式计算机系统的特点 4
1.1.3 嵌入式计算机系统的应用 6
1.2 嵌入式计算机系统的组成 7
1.2.1 嵌入式硬件系统 7
1.2.2 嵌入式软件系统 14
1.2.3 嵌入式操作系统 18
1.3 嵌入式处理器的选型 23
1.3.1 嵌入式处理器的种类 23
1.3.2 嵌入式微处理器的特点 24
1.3.3 主流的嵌入式处理器及典型的嵌入式处理器 28
1.4 嵌入式计算机系统的发展趋势 33
第2章 认识ARM 36
2.1 ARM基础 36
2.1.1 ARM体系结构的发展 36
2.1.2 ARM芯片的特点和选型 41
2.1.3 ARM体系结构的技术特征 44
2.1.4 ARM体系结构的命名规则 46
2.2 ARM流水线技术 47
2.2.1 流水线的概念、原理及特征 47
2.2.2 流水线的分类 50
2.2.3 影响流水线性能的相关因素 51
2.3 ARM处理器的内核结构 52
2.3.1 ARM7TDMI处理器内核及其引脚信号 52
2.3.2 MMU部件 58
第3章 ARM微处理器编程模型 62
3.1 ARM工作模式 62
3.1.1 ARM的数据类型及存储格式 62
3.1.2 ARM的工作状态及工作模式 63
3.2 ARM寄存器 64
3.3 ARM异常 70
3.3.1 ARM异常类型、异常向量及优先级 70
3.3.2 ARM处理器对异常响应的处理过程 71
3.3.3 从异常返回 72
3.3.4 各类异常的具体描述 73
3.4 基于ARM的嵌入式开发环境的搭建 75
3.4.1 ARM SDT 75
3.4.2 ARM ADS 77
3.4.3 Multi 2000 79
3.4.4 Embest IDE for ARM 83
3.4.5 OPENice32-A900仿真器 84
3.4.6 Multi-ICE仿真器 85
第4章 ARM指令系统 86
4.1 ARM寻址方式 86
4.1.1 立即数寻址 86
4.1.2 寄存器寻址 86
4.1.3 寄存器间接寻址 87
4.1.4 基址加变址寻址 87
4.1.5 堆栈寻址 88
4.1.6 块拷贝寻址 88
4.1.7 相对寻址 88
4.2 ARM指令概述 89
4.3 ARM指令集的详细介绍 90
4.3.1 数据处理指令 90
4.3.2 Load/Store指令 93
4.3.3 程序状态寄存器与通用寄存器之间的传送指令 95
4.3.4 转移指令 96
4.3.5 异常中断的产生指令 97
4.4 Thumb指令集 97
4.4.1 Thumb指令集概述及特点 97
4.4.2 Thumb状态与ARM状态的切换 98
4.4.3 Thumb指令集的详细介绍 98
第5章 ARM程序设计 101
5.1 ARM汇编语言的伪操作 101
5.1.1 ARMASM汇编器所支持的伪操作 101
5.1.2 GNU AS汇编器所支持的伪指令 108
5.1.3 汇编语言的语句格式 109
5.1.4 汇编程序中的表达式和运算符 111
5.1.5 汇编语言预定义的寄存器和协处理器 112
5.1.6 汇编语言的内置变量 112
5.2 ARM汇编程序设计举例 113
5.2.1 源程序结构 113
5.2.2 常用程序设计举例 114
5.3 嵌入式C语言与汇编语言的混合编程 117
5.3.1 ATPCS规则介绍 117
5.3.2 C语言和汇编语言混合编程实例 121
第6章 ARM微处理器内部组件的应用 125
6.1 存储控制实验 125
6.1.1 实验原理 125
6.1.2 实验设计 128
6.1.3 实验操作步骤 130
6.2 I/O控制实验 135
6.2.1 实验原理 135
6.2.2 电路设计 137
6.2.3 实验操作步骤 138
6.3 中断实验 141
6.3.1 实验原理 141
6.3.2 实验设计 146
6.3.3 实验操作步骤 147
6.4 串口通信实验 153
6.4.1 实验原理 153
6.4.2 RS232接口电路 154
6.4.3 实验参考程序 155
6.4.4 实验操作步骤 156
6.5 实时时钟实验 157
6.5.1 实验原理 157
6.5.2 实验设计 159
6.5.3 实验参考程序 160
6.5.4 实验操作步骤 163
6.6 看门狗控制实验 164
6.6.1 实验原理 164
6.6.2 实验设计 166
6.6.3 实验参考程序 167
6.6.4 实验操作步骤 168
6.7 A/D转换实验 169
6.7.1 实验原理 169
6.7.2 实验设计 173
6.7.3 实验参考程序 174
6.7.4 实验操作步骤 174
6.8 数码管显示实验 175
6.8.1 实验原理 175
6.8.2 实验电路 176
6.8.3 实验参考程序 177
6.8.4 实验操作步骤 178
第7章 ARM微处理器的高级接口实验 179
7.1 液晶显示实验 179
7.1.1 实验原理 179
7.1.2 实验设计 185
7.1.3 实验参考程序 187
7.1.4 实验操作步骤 188
7.2 5×4键盘控制实验 189
7.2.1 实验原理 189
7.2.2 实验设计 189
7.2.3 实验参考程序 190
7.2.4 实验操作步骤 191
7.3 触摸屏控制实验 192
7.3.1 实验原理 192
7.3.2 实验设计 197
7.3.3 实验操作步骤 200
7.4 串行通信实验 201
7.4.1 实验原理 201
7.4.2 实验设计 205
7.4.3 实验参考程序 206
7.4.4 实验操作步骤 208
7.5 以太网通信实验 208
7.5.1 实验原理 208
7.5.2 实验参考程序 217
7.5.3 实验操作步骤 219
7.6 音频接口IIS 220
7.6.1 实验原理 220
7.6.2 电路连接 223
7.6.3 实验参考程序 224
7.6.4 实验操作步骤 227
7.7 USB接口实验 228
7.7.1 实验原理 228
7.7.2 电路设计原理 230
7.7.3 实验参考程序 232
参考文献 236