《ARM结构与程序开发入门》力求逻辑严谨,通俗易懂,采用模块化和案例分析的方式进行内容的组织,介绍ARM处理器模式及其基本编程模型、ARM指令系统、ARM汇编语言程序设计、C/C++混合编程、ARM/Thumb混合编程、ARM存储系统、异常中断处理、ARM编译器和连接器、ARM接口技术、ARM体系中的调试方法等。
《ARM结构与程序开发入门》旨在培养学生掌握ARM结构和程序开发的基本知识,为他们将来从事ARM嵌入式系统的开发提供基础。
《ARM结构与程序开发入门》可作为高职高专院校计算机类专业的教材,也可作为本科生、硕士生计算机类专业的ARM入门教材,还可作为从事ARM嵌入式系统开发的工程技术人员的参考书。
嵌入式技术是近年来计算机学科中发展最迅猛的领域之一,而ARM是当前研究和应用最为广泛的嵌入式处理芯片,越来越多的学校都认识到开设基于ARM的嵌入式教学课程的必要性和紧迫性。目前部分高校开设该课程的教材,大多采用国外原文教材或翻译版教材,注重原理和学生理论知识的培养,轻视了学生的实践动手能力的培养,相应的一些ARM专著也有类似弊端。
本书的特点是理论与实践相结合,以ARM处理器作为嵌入式处理器的代表,着重讲解ARM处理器的结构以及程序开发的入门知识,在理论学习的同时搭配以实训练习,培养学生的实践动手能力。本书共分11章。第1章ARM概述及其基本编程模型,主要介绍.ARM技术简介及其特点,ARM处理器的结构,删处理器模式,ARM的两种工作状态,ARM寄存器,ARM体系的异常中断,ARM体系中存储系统,ARM接口技术。
第2章ARM指令系统,主要介绍ARM指令,ARM指令寻址方式,ARM指令集和Thumb指令集。
第3章ARM汇编语言程序设计,主要介绍ARM汇编语言语句格式,ARM汇编语言伪操作,ARM汇编语言伪指令,ARM汇编语言中的符号,ARM汇编语言中的表达式,ARM汇编语言程序结构,汇编语言子程序调用。
第4章ARM存储系统,主要介绍ARM中用于存储管理的系统控制协处理器CPl5,存储器管理单元(MMU),高速缓冲存储器和写缓冲区,快速上下文切换技术,与存储系统相关的程序设计指南。
第5章异常中断处理,主要介绍进入和退出异常中断的过程,在应用程序中安装异常中断处理程序,SWI、FIQ、IRQ、复位、未定义指令、指令预取中止、数据访问中止异常中断处理程序。
第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
1.1 ARM技术简介及其特点
ARM(Advanced RISC Machines)公司是微处理器领域的一家知名企业,设计了大量高性能、廉价、耗能低的R[SC处理器、相关技术及软件。其技术具有性能高、成本低和能耗省的特点。ARM技术适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。
ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。它将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。
目前,总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括。Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司。
ARM架构是面向低预算市场设计的第一款RISC微处理器。
删处理器具有RISC体系的一般特点,如:
(1)拥有大量的寄存器;
(2)绝大多数操作都在寄存器中进行,通过Load/Store的体系结构在内存和寄存器间传递数据;
(3)寻址方式简单;
(4)采用固定长度的指令格式。