《ARM结构与程序开发入门》:嵌入式系统系列教材
第1章 ARM概述及其基本编程模型 1
1.1 ARM技术简介及其特点 1
1.2 ARM体系结构的版本及命名方法 1
1.3 ARM处理器的结构 6
1.4 ARM处理器模式 7
1.5 ARM的两种工作状态 8
1.6 ARM寄存器 9
1.7 ARM体系的异常中断 11
1.8 ARM体系中存储系统 12
1.9 ARM接口技术 14
1.10 小结 14
习题 14
第2章 ARM指令系统 15
2.1 ARM指令介绍 15
2.2 ARM指令寻址方式 17
2.3 ARM指令集 20
2.4 Thumb指令介绍 34
2.5 小结 37
习题 37
第3章 ARM汇编语言程序设计 39
3.1 ARM汇编语言语句格式 39
3.2 ARM汇编语言伪操作 39
3.3 ARM汇编语言伪指令 50
3.4 ARM汇编语言中的符号 52
3.5 ARM汇编语言中的表达式 53
3.6 ARM汇编语言程序结构 56
3.7 汇编语言子程序调用 59
3.8 本章实训 64
3.9 小结 67
习题 68
第4章 ARM存储系统 69
4.1 ARM存储系统概述 69
4.2 ARM中用于存储管理的系统控制协处理器CP15 70
4.3 存储器管理单元(MMU) 74
4.4 高速缓冲存储器和写缓冲区 82
4.5 快速上下文切换技术 89
4.6 与存储系统相关的程序设计指南 89
4.7 小结 91
习题 91
第5章 异常中断处理 92
5.1 ARM中异常中断处理概述 92
5.2 进入和退出异常中断的过程 94
5.3 在应用程序中安装异常中断处理程序 95
5.4 SWI异常中断处理程序 98
5.5 FIQ和IRQ异常中断处理程序 99
5.6 复位异常中断处理程序 101
5.7 未定义指令异常中断 101
5.8 指令预取中止异常中断处理程序 102
5.9 数据访问中止异常中断处理程序 102
5.10 本章实训 102
5.11 小结 111
习题 111
第6章 嵌入式C/C++语言程序设计基础及混合编程 113
6.1 嵌入式C/C++语言程序设计基本语法介绍 113
6.2 嵌入式C/C++语言程序设计技巧 118
6.3 C/C++与汇编语言混合编程 121
6.4 本章实训 127
6.5 小结 140
习题 140
第7章 ARM程序和Thumb程序混合使用 142
7.1 概述 142
7.2 在汇编语言程序中通过用户代码支持interwork 143
7.3 在C/C++程序中实现interwork 147
7.4 在汇编语言程序中通过连接器支持interwork 149
7.5 本章实训 151
7.6 小结 154
习题 154
第8章 ARM C/C++编译器 156
8.1 ARM C/C++编译器概述 156
8.2 ARM编译器命令行格式 157
8.3 ARM编译器中的pragmas 167
8.4 ARM编译器特定的关键词 167
8.5 ARM编译器支持的基本数据类型 170
8.6 ARM编译器中预定义宏 171
8.7 ARM中C/C++运行时库概述 172
8.8 小结 174
习题 174
第9章 ARM连接器 175
9.1 ARM映像文件 175
9.2 ARM连接器介绍 176
9.3 ARM连接器生成的符号 176
9.4 连接器的优化功能 178
9.5 运行时库的使用 178
9.6 从一个映像文件中使用另一个映像文件中的符号 180
9.7 隐藏或者重命名全局符号 182
9.8 ARM连接器命令行选项 183
9.9 使用scatter文件定义映像文件的地址映射 188
9.10 小结 191
习题 191
第10章 ARM接口技术 192
10.1 键盘、显示接口 192
10.2 串口 194
10.3 D/A、A/D转换 195
10.4 总线接口 200
10.5 RTC实时时钟 204
10.6 其他接口 205
10.7 小结 207
习题 207
第11章 ARM体系中的调试方法 208
11.1 ARM体系中调试系统概述 208
11.2 基于JTAG的调试系统 209
11.3 基于RVD的调试系统 210
11.4 CodeWarrior使用介绍 216
11.5 本章实训 220
11.6 小结 225
习题 225
参考文献 226