第1章 ARM微处理器概述 1
1.1 ARM简介 1
1.2 ARM微处理器的应用领域及特点 2
1.2.1 ARM微处理器的应用领域 2
1.2.2 ARM微处理器的特点 2
1.3 ARM微处理器系列 2
1.3.1 ARM7微处理器系列 3
1.3.2 ARM9微处理器系列 4
1.3.3 ARM9E微处理器系列 4
1.3.4 ARM10E微处理器系列 5
1.3.5 SecurCore微处理器系列 5
1.3.6 StrongARM微处理器系列 6
1.3.7 Xscale处理器 6
1.4 ARM微处理器的结构 6
1.4.1 RISC体系结构 6
1.4.2 ARM微处理器的寄存器结构 7
1.4.3 ARM微处理器的指令结构 7
1.5 ARM微处理器的应用选型 7
1.6 本章小结 8
第2章 ARM微处理器的编程模型 9
2.1 ARM微处理器的工作状态 9
2.2 ARM体系结构的存储器格式 10
2.3 指令长度及数据类型 11
2.4 处理器模式 11
2.5 寄存器组织 12
2.5.1 ARM状态下的寄存器组织 12
2.5.2 Thumb状态下的寄存器组织 14
2.5.3 程序状态寄存器 16
2.6 异常 18
2.6.1 ARM体系结构所支持的异常类型 18
2.6.2 对异常的响应 19
2.6.3 从异常返回 19
2.6.4 各类异常的具体描述 20
2.6.5 异常进入/退出小结 21
2.6.6 异常向量 22
2.6.7 异常优先级 22
2.6.8 应用程序中的异常处理 23
2.7 本章小结 23
第3章 ARM微处理器的指令系统 24
3.1 ARM微处理器的指令集概述 24
3.1.1 ARM微处理器的指令的分类与格式 24
3.1.2 指令的条件域 25
3.2 ARM指令的寻址方式 26
3.2.1 立即寻址 26
3.2.2 寄存器寻址 27
3.2.3 寄存器间接寻址 27
3.2.4 基址变址寻址 27
3.2.5 多寄存器寻址 28
3.2.6 相对寻址 28
3.2.7 堆栈寻址 28
3.3 ARM指令集 29
3.3.1 跳转指令 29
3.3.2 数据处理指令 30
3.3.3 乘法指令与乘加指令 35
3.3.4 程序状态寄存器访问指令 38
3.3.5 加载/存储指令 39
3.3.6 批量数据加载/存储指令 41
3.3.7 数据交换指令 42
3.3.8 移位指令(操作) 43
3.3.9 协处理器指令 44
3.3.10 异常产生指令 46
3.4 Thumb指令及应用 47
3.5 本章小结 48
第4章 ARM程序设计基础 49
4.1 ARM汇编器所支持的伪指令 49
4.1.1 符号定义(Symbol Definition)伪指令 49
4.1.2 数据定义(Data Definition)伪指令 51
4.1.3 汇编控制(Assembly Control)伪指令 54
4.1.4 其他常用的伪指令 56
4.2 汇编语言的语句格式 61
4.2.1 在汇编语言程序中常用的符号 61
4.2.2 汇编语言程序中的表达式和运算符 62
4.3 汇编语言的程序结构 65
4.3.1 汇编语言在程序中的结构 65
4.3.2 汇编语言的子程序调用 66
4.3.3 汇编语言程序示例 67
4.3.4 汇编语言与C/C++的混合编程 69
4.4 本章小结 70
第5章 应用系统设计与调试 71
5.1 系统设计概述 71
5.2 S3C4510B概述 72
5.2.1 S3C4510B及片内外围简介 72
5.2.2 S3C4510B的引脚分布及信号描述 76
5.2.3 CPU内核概述及特殊功能寄存器 81
5.2.4 S3C4510B的系统管理器 87
5.3 系统的硬件选型与单元电路设计 99
5.3.1 S3C4510B芯片及引脚分析 99
5.3.2 电源电路 100
5.3.3 晶振电路与复位电路 101
5.3.4 Flash存储器接口电路 102
5.3.5 SDRAM接口电路 107
5.3.6 串行接口电路 110
5.3.7 IIC接口电路 112
5.3.8 JTAG接口电路 113
5.3.9 10M/100M以太网接口电路 114
5.3.10 通用I/O接口电路 118
5.4 硬件系统的调试 119
5.4.1 电源、晶振及复位电路 119
5.4.2 S3C4510B及JTAG接口电路 119
5.4.3 SDRAM接口电路的调试 121
5.4.4 Flash接口电路的调试 123
5.4.5 10M/100M以太网接口电路 124
5.5 印刷电路板的设计注意事项 124
5.5.1 电源质量与分配 125
5.5.2 同类型信号线的分布 125
5.6 本章小结 126
第6章 部件工作原理与编程示例 127
6.1 嵌入式系统的程序设计方法 127
6.2 部件工作原理与编程示例 128
6.2.1 通用I/O口工作原理与编程示例 128
6.2.2 串行通信工作原理与编程示例 133
6.2.3 中断控制器工作原理与编程示例 144
6.2.4 定时器工作原理与编程示例 148
6.2.5 GDMA工作原理与编程示例 153
6.2.6 IIC总线控制器工作原理 160
6.2.7 以太网控制器工作原理 166
6.2.8 Flash存储器工作原理与编程示例 195
6.3 BootLoader简介 201
6.4 本章小结 201
第7章 嵌入式uClinux及其应用开发 202
7.1 嵌入式uClinux系统概况 202
7.2 开发工具GNU的使用 205
7.2.1 GCC编译器 205
7.2.2 GNU Make 207
7.2.3 使用GDB调试程序 214
7.3 建立uClinux开发环境 219
7.3.1 建立交叉编译器 219
7.3.2 uClinux针对硬件的改动 224
7.3.3 编译uClinux内核 225
7.3.4 内核的加载运行 228
7.4 在uClinux下开发应用程序 228
7.4.1 串行通信 232
7.4.2 Socket编程 238
7.4.3 添加用户应用程序到uClinux 246
7.4.4 通过网络添加应用程序到目标系统 250
7.5 本章小结 253
第8章 ARM ADS集成开发环境的使用 255
8.1 ADS集成开发环境组成介绍 255
8.1.1 命令行开发工具 255
8.1.2 ARM运行时库 267
8.1.3 GUI开发环境(Code Warrior和AXD) 269
8.1.4 实用程序 271
8.1.5 支持的软件 272
8.2 使用ADS创建工程 272
8.2.1 建立一个工程 272
8.2.2 编译和链接工程 276
8.2.3 使用命令行工具编译应用程序 280
8.3 用AXD进行代码调试 282
8.4 本章小结 286
附录A 参考文献 287
附录B 相关术语 288
· · · · · · (
收起)