《ARM体系结构与编程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:唐振明主编;田荣华,杨强编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121147739
  • 页数:208 页
图书介绍:《ARM体系结构与编程》分七大章对ARM处理器的体系结构、ARM编程模型,指令系统和开发工具作了比较全面的介绍。其中包括ARM处理器概述,ARM体系结构、ARM系列流水线, ARMARM编程模型,ARM寄存器组织,,异常中断处理,ARM微处理器的指令系统,ARM汇编语言程序设计,ARM汇编语言与C混合编程,bootload启动代码分析,ARM RealView MDK集成开发环境的介绍及与H-JTAG,J-LINK,ULINK2仿真使用的方法。

第1章 ARM处理器概述 1

1.1 嵌入式处理器简介 1

1.1.1 嵌入式处理器分类 1

1.1.2 嵌入式操作系统 3

1.1.3 嵌入式处理器评价指标 3

1.2 什么是ARM 4

1.2.1 ARM的概念 4

1.2.2 ARM公司发迹史 5

1.3 ARM体系结构的命名规则 6

1.4 ARM系列处理器简介 7

1.4.1 ARM7系列 8

1.4.2 ARM9系列 9

1.4.3 ARM9E系列 9

1.4.4 ARM10系列 9

1.4.5 ARM11系列 10

1.4.6 SecurCore系列 10

1.4.7 ARM Cortex-A8处理器 10

1.5 ARM处理器的技术优势及其应用 11

1.6 本章小结 12

1.7 课后练习 12

第2章 ARM体系结构 13

2.1 ARM体系结构的特点 13

2.1.1 RISC设计思想的体现 13

2.2 ARM流水线 15

2.2.1 ARM流水线的概念与原理 15

2.2.2 流水线的分类 16

2.2.3 3级流水线ARM组织 17

2.2.4 5级流水线ARM组织 20

2.2.5 6级流水线ARM组织 22

2.2.6 影响流水线性能的因素 22

2.3 ARM存储器 23

2.4 I/O管理 24

2.5 ARM开发调试方法 25

2.5.1 指令集模拟器 25

2.5.2 驻留监控软件 26

2.5.3 JTAG仿真调试 26

2.5.4 基于ULINK在线仿真器 27

2.6 本章小结 27

2.7 课后练习 27

第3章 ARM编程模型 28

3.1 数据类型 28

3.1.1 ARM的基本数据类型 28

3.1.2 浮点数据类型 29

3.1.3 存储器大/小端 29

3.2 处理器工作模式 31

3.3 ARM寄存器组织 32

3.3.1 通用寄存器 33

3.3.2 程序状态寄存器 36

3.4 异常中断处理 39

3.4.1 异常种类 39

3.4.2 异常优先级 44

3.4.3 处理器模式和异常 44

3.4.4 异常响应流程 45

3.4.5 从异常处理程序中返回 47

3.5 本章小结 48

3.6 课后练习 49

第4章 ARM微处理器的指令系统 50

4.1 ARM微处理器的指令集概述 50

4.1.1 ARM微处理器的指令的分类与格式 50

4.1.2 指令的条件域 52

4.2 ARM指令集 53

4.2.1 数据处理指令 53

4.2.2 移位指令 60

4.2.3 乘法指令与乘加指令 63

4.2.4 批量数据加载/存储指令 65

4.2.5 跳转指令 66

4.2.6 程序状态寄存器访问指令 68

4.2.7 加载/存储指令 70

4.2.8 协处理器指令 74

4.2.9 异常产生指令 76

4.3 ARM指令的寻址方式 77

4.3.1 立即寻址 77

4.3.2 寄存器寻址 78

4.3.3 寄存器间接寻址 78

4.3.4 基址变址寻址 78

4.3.5 多寄存器寻址 79

4.3.6 相对寻址 79

4.3.7 堆栈寻址 79

4.4 Thumb指令及应用 81

4.5 本章小结 82

4.6 课后练习 82

第5章 ARM汇编语言程序设计 83

5.1 ARM汇编器所支持的伪操作 83

5.1.1 符号定义(Symbol Definition)伪操作 83

5.1.2 数据定义(Data Definition)伪操作 87

5.1.3 汇编控制(Assembly Control)伪操作 91

5.1.4 信息报告(Reporting)伪操作 95

5.1.5 指令集选择(Instruction Set Selection)伪操作 96

5.1.6 其他伪操作 98

5.2 ARM汇编器所支持的伪指令 107

5.2.1 ADR伪指令 107

5.2.2 ADRL伪指令 108

5.2.3 MOV32伪指令 108

5.2.4 LDR伪指令 109

5.3 汇编语言文件格式 110

5.3.1 ARM汇编语言语句格式 110

5.3.2 ARM汇编语言中的符号 111

5.3.3 汇编语言程序中的表达式和运算符 112

5.3.4 汇编语言预定义寄存器和协处理器 114

5.3.5 汇编语言的程序结构 115

5.3.6 汇编语言子程序调用 116

5.4 ARM汇编语言与C语言混合编程 117

5.4.1 在C语言中内嵌汇编语言 118

5.4.2 在C语言中调用汇编语言的函数 119

5.4.3 在汇编语言中调用C语言的函数 121

5.5 本章小结 122

5.6 课后练习 123

第6章 Bootload启动代码分析 124

6.1 汇编基础 124

6.2 启动代码功能模块分解 125

6.2.1 程序的入口地址 125

6.2.2 看门狗及中断的禁止 126

6.2.3 系统时钟初始化 127

6.2.4 初始化内存控制器 128

6.2.5 系统堆栈的初始化 128

6.2.6 建立中断向量表 130

6.2.7 跳转到C语言入口 132

6.3 Bootload实验部分 132

6.3.1 实验环境 132

6.3.2 实验步骤 132

6.3.3 实验总结 133

6.4 Bootload扩展部分—U-Boot分析 133

6.4.1 Bootloader的引导方式 134

6.4.2 Bootloader的种类 135

6.4.3 U-Boot源码结构 137

6.4.4 U-Boot的编译 138

6.4.5 U-Boot的移植 141

6.4.6 添加U-Boot命令 143

6.4.7 U-Boot的调试 145

6.4.8 U-Boot与内核的关系 149

6.4.9 U-Boot的常用命令 152

6.4.10 U-Boot的环境变量 155

6.4.11 使用U-Boot 157

6.5 本章小结 158

6.6 课后练习 158

第7章 ARM RealView MDK集成开发环境 159

7.1 RealView MDK突出特性 159

7.2 MDK功能介绍 160

7.2.1 μVision4 IDE 160

7.2.2 μVision4 IDE主要特性 161

7.2.3 启动代码配置向导 161

7.2.4 μVision4设备模拟器 161

7.2.5 性能分析器 162

7.2.6 RealView编译器 162

7.2.7 MicroLib 163

7.2.8 RealView Real-Time Library(RealView RTL)实时库 163

7.2.9 ARM软件开发工具解决方案 164

7.3 RealView MDK的使用 164

7.3.1 μVision4的安装 164

7.3.2 创建μVision工程 169

7.4 Keil MDK编译器与ULINK2使用 182

7.4.1 ULINK2概述 182

7.4.2 ULINK2与MDK的链接使用 183

7.5 Keil MDK编译器与J-LINK使用 184

7.5.1 J-LINK概述 184

7.5.2 J-LINK与MDK的链接使用 185

7.6 Keil MDK编译器与H-JTAG使用 188

7.6.1 H-JTAG概述 188

7.6.2 H-JTAG调试结构 189

7.6.3 H-JTAG的安装 189

7.6.4 H-JTAG配置 192

7.6.5 MDK的安装与设置 194

7.6.6 调试 195

7.7 Keil开发工具链 196

7.7.1 用UltraEdit查看和编辑程序源文件 196

7.7.2 Keil MDK生成BIN过程 197

7.7.3 ARM工具链准备实验 200

7.7.4 armasm汇编器的使用 201

7.7.5 armlink链接器的使用 202

7.7.6 armcc编译器的使用 203

7.7.7 FromELF实用工具实验 205

7.8 本章小结 206

7.9 课后练习 206

参考文献 207