当前位置:首页 > 工业技术
ARM体系结构及其嵌入式处理器
ARM体系结构及其嵌入式处理器

ARM体系结构及其嵌入式处理器PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:任哲等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2008
  • ISBN:7811241927
  • 页数:335 页
图书介绍:本书第1章和第2章重点介绍微型计算机系统的基本构成及基本工作原理;第3~5章介绍ARM体系结构、指令系统及汇编语言程序设计的基本知识;第6章介绍ARM的C/C++和汇编语言的混合编程方法;第7章在介绍微型机中断技术的基本概念基础上介绍ARM的中断系统及其特点;第8~11章介绍基于ARM体系结构的嵌入式处理器LPC2000的构成、特点及程序设计方法;第12章简要地介绍另一个常用的基于ARM体系结构的嵌入式处理器S3C44B0X的构成及其主要接口,以使读者对ARM体系结构嵌入式处理器有一个更全面的认识;第13章介绍ARM作为一个完整的微型计算机体系结构所应有的存储管理部分,为读者学习高档ARM处理器核建立必要的基础。
《ARM体系结构及其嵌入式处理器》目录

第1章 微型计算机基础知识 1

1.1 微型计算机的发展历程 1

1.2 数字电路与计算机 2

1.2.1 数据在计算机中的表示——二进制 2

1.2.2 运算器及二进制数运算 2

1.2.3 数据的存储 8

1.2.4 指令及指令译码 10

1.2.5 程序及程序计数器PC 11

1.2.6 计算机执行程序的过程 12

1.3 微型计算机系统的基本组成 13

1.3.1 冯·诺依曼计算机结构 14

1.3.2 计算机的硬件系统 14

1.3.3 计算机的软件系统 17

1.4 计算机体系结构的发展 17

1.4.1 RISC 18

1.4.2 指令流水线 19

1.4.3 高速缓存 21

1.4.4 协处理器 21

1.4.5 片上系统 21

1.5 微型计算机的两种主要应用方向 21

1.5.1 桌面系统 21

1.5.2 嵌入式系统 22

1.6 计算机程序设计语言 22

1.6.1 低级语言 22

1.6.2 高级语言 23

1.7 计算机常用标准编码 23

1.7.1 ASCII码 23

1.7.2 BCD码 24

1.8 习题 24

第2章 总线、存储器和接口 26

2.1 总线 26

2.1.1 总线的基本概念 26

2.1.2 系统总线 27

2.1.3 系统总线结构 28

2.1.4 片内总线 30

2.2 存储器 30

2.2.1 半导体存储器的一般结构 31

2.2.2 随机读/写存储器 32

2.2.3 只读存储器 35

2.2.4 存储器的逻辑表示 36

2.3 外部设备及接口 36

2.3.1 外部设备及其特点 37

2.3.2 I/O接口电路的功能 38

2.3.3 I/O设备接口电路的基本结构 42

2.3.4 外部设备与处理器的联络和数据传输 42

2.4 常用接口电路 45

2.4.1 并行接口电路 45

2.4.2 串行接口电路 46

2.4.3 定时器/计数器 51

2.5 习题 52

第3章 ARM体系结构 54

3.1 ARM及其嵌入式处理器的研发与生产方式 54

3.1.1 SoC与嵌入式处理器 54

3.1.2 嵌入式处理器的研发和生产方式 55

3.2 ARM处理器核的结构 58

3.3 冯·诺依曼结构及哈佛结构在ARM中的应用 59

3.4 ARM处理器的运行模式 60

3.5 ARM的两种工作状态 61

3.6 ARM处理器的寄存器 61

3.6.1 ARM状态下寄存器的组织方式 61

3.6.2 Thumb状态下寄存器的组织方式 65

3.7 存储器的组织 66

3.8 ARM体系结构的其他特点 68

3.8.1 灵活方便的协处理器接口 68

3.8.2 嵌入式的在线仿真调试 69

3.8.3 低电压低功耗的设计 69

3.9 ARM体系结构的版本及处理器系列 69

3.9.1 ARM体系结构的版本 69

3.9.2 ARM处理器系列 70

3.10 习题 71

第4章 ARM指令系统 73

4.1 寻址方式 73

4.1.1 立即寻址方式 73

4.1.2 寄存器寻址方式 74

4.1.3 寄存器间接寻址方式 74

4.1.4 变址寻址 75

4.2 ARM指令集概述 75

4.2.1 指令的基本格式 76

4.2.2 指令的可选操作 76

4.2.3 指令的第2源操作数 78

4.3 ARM指令集 82

4.3.1 数据传送指令 82

4.3.2 算术运算指令 83

4.3.3 逻辑运算指令 90

4.3.4 测试与比较指令 92

4.3.5 跳转指令 94

4.3.6 程序状态寄存器访问指令 96

4.3.7 加载/存储指令 97

4.3.8 批量数据加载/存储指令 101

4.3.9 数据交换指令 103

4.3.10 异常产生指令 104

4.4 Thumb指令集简介 104

4.5 习题 105

第5章 ARM汇编 106

5.1 汇编器与汇编语言 106

5.2 ARM伪指令 107

5.2.1 段定义伪指令 107

5.2.2 符号定义伪指令 108

5.2.3 程序中的标号 110

5.2.4 数据定义伪指令 111

5.2.5 汇编控制伪指令 115

5.2.6 其他常用伪指令 116

5.3 宏与宏指令 121

5.3.1 宏 121

5.3.2 宏指令 122

5.4 汇编语言的规范 124

5.4.1 汇编语句格式 124

5.4.2 汇编语言的表达式和运算符 124

5.5 习题 128

第6章 ARM程序设计 129

6.1 ARM工程 129

6.2 ARM汇编语言程序设计 130

6.2.1 段 130

6.2.2 分支程序设计 131

6.2.3 循环程序设计 135

6.2.4 子程序及其调用 136

6.2.5 汇编程序访问全局C变量 137

6.3 ARM程序框架 138

6.3.1 初始化程序部分 139

6.3.2 初始化部分与主应用程序部分的衔接 139

6.3.3 ARM开发环境提供的程序框架 140

6.4 C与汇编之间的函数调用 140

6.4.1 ATPCS简介 140

6.4.2 C程序可调用汇编函数实例 143

6.4.3 汇编程序调用C函数实例 144

6.5 C/C++语言和汇编语言的混合编程 145

6.5.1 内联汇编 145

6.5.2 嵌入式汇编 146

6.5.3 内联汇编代码与嵌入式汇编代码之间的差异 148

6.6 习题 148

第7章 中断和异常 151

7.1 中断和异常的基本概念 151

7.1.1 中断和异常 151

7.1.2 中断请求信号的屏蔽 152

7.1.3 中断优先级及中断嵌套 153

7.1.4 中断服务程序 154

7.1.5 中断向量和中断向量表 155

7.1.6 中断的处理过程 156

7.2 ARM的中断(异常) 157

7.2.1 ARM的中断(异常)向量表 157

7.2.2 ARM中断(异常)的管理 158

7.2.3 ARM中断(异常)运行模式 160

7.2.4 中断(异常)的响应过程及返回 161

7.3 习题 165

第8章 LPC2000系列嵌入式处理器 166

8.1 LPC2000嵌入式处理器概貌 166

8.2 引脚连接模块 168

8.3 通用可编程并行数据接口GPIO 169

8.4 LPC2000的存储器 170

8.4.1 存储空间的分配 170

8.4.2 内部存储器映射 171

8.4.3 I/O接口端口映射 172

8.4.4 Flash存储器加速模块 172

8.5 外部存储器控制模块EMC 173

8.5.1 EMC的结构 173

8.5.2 EMC的寄存器 174

8.5.3 外部存储器的连接 175

8.6 LPC2000的时钟 177

8.6.1 LPC2000时钟模块 177

8.6.2 cclk时钟参数的设置 178

8.6.3 pclk时钟参数的设置 179

8.7 定时器 180

8.7.1 定时器的原理和功能 180

8.7.2 定时器的寄存器 181

8.7.3 定时器的初始化 184

8.8 LPC2000的脉宽调制器PWM 184

8.8.1 LPC2000脉宽调制器原理 184

8.8.2 脉宽调制器的寄存器 186

8.8.3 LPC2000脉宽调制器的使用示例 187

8.9 看门狗 188

8.9.1 看门狗的结构及原理 188

8.9.2 看门狗的寄存器 189

8.9.3 看门狗的使用 190

8.10 功率控制模块 190

8.11 LPC2000的UART接口 191

8.11.1 UART接口的结构 191

8.11.2 UART接口的寄存器 193

8.11.3 UART1接口与Modem 196

8.11.4 UART接口的初始化 197

8.12 LPC2000的SPI接口 198

8.12.1 SPI简介及LPC2000的SPI接口逻辑 198

8.12.2 LPC2000 SPI接口的寄存器 199

8.13 LPC2000的I2C接口 201

8.13.1 I2C总线简介 201

8.13.2 LPC2000的I2C总线接口 204

8.13.3 I2C接口的工作过程 207

8.14 A/D转换器 208

8.15 LPC2000的中断管理 210

8.15.1 外部中断通道 210

8.15.2 中断控制器VIC 213

8.16 习题 218

第9章 LPC2000外部电路 220

9.1 复位电路 220

9.2 人机交互设备 221

9.2.1 键盘与触摸屏 221

9.2.2 显示器 225

9.3 习题 230

第10章 LPC2000的固件 231

10.1 LPC2000的重映射存储区 231

10.2 LPC2000的固件及其作用 232

10.3 LPC2000引导块 235

10.3.1 LPC2000引导块的地址映射 235

10.3.2 向量表的重映射 236

10.3.3 LPC2114/2124的Boot Block的工作流程 236

10.3.4 有效用户程序的识别 237

10.4 RAM空间的重映射 238

10.5 习题 239

第11章 LPC2000程序的组织 241

11.1 用户程序的启动部分 241

11.2 启动文件 242

11.2.1 汇编语言文件Startup.s 242

11.2.2 C语言文件Target.c 245

11.3 μC/OS-Ⅱ操作系统的使用(移植) 246

11.3.1 μC/OS-Ⅱ简介 246

11.3.2 文件OS_CPU.H的移植 247

11.3.3 文件OS_CPU_C.C的移植 251

11.3.4 文件OS_CPU_A.S的移植 254

11.4 用户程序的存储与运行 257

11.5 习题 259

第12章 S3C44B0X处理器简介 260

12.1 S3C44B0X的结构 260

12.2 S3C44B0X的存储器 260

12.2.1 S3C44B0X存储映射 260

12.2.2 S3C44B0X用于存储管理的寄存器 262

12.3 时钟和功耗管理 265

12.3.1 时钟设置 265

12.3.2 功耗管理控制 266

12.3.3 功耗管理控制寄存器 267

12.4 中断管理 268

12.4.1 中断源与中断系统结构 268

12.4.2 中断控制寄存器 268

12.4.3 中断源优先排队模块 270

12.5 DMA控制器 272

12.5.1 ZDMA和BDMA 273

12.5.2 与ZDMA相关的寄存器 274

12.5.3 与BDMA相关的寄存器 276

12.6 LCD控制器 278

12.6.1 概述 278

12.6.2 LCD控制器的控制寄存器 280

12.6.3 帧缓冲区起始地址寄存器 282

12.7 I2S总线接口 284

12.7.1 I2S总线接口框图 284

12.7.2 I2S接口工作模式 286

12.7.3 I2S接口的特殊功能寄存器 286

12.8 S3C44B0X的引脚与I/O端口 289

12.8.1 端口配置寄存器PCON 289

12.8.2 端口数据寄存器PDATA~PDATAG 290

12.8.3 上拉寄存器PUPC~PUPG 290

12.9 习题 290

第13章 ARM高级存储管理 291

13.1 高速缓冲存储器 291

13.1.1 Cache的基本概念和工作原理 291

13.1.2 Cache与主存之间的关系 294

13.1.3 Cache的写缓冲器 295

13.2 协处理器 296

13.2.1 ARM的协处理器 297

13.2.2 协处理器操作指令 297

13.3 ARM存储器保护单元MPU 299

13.3.1 ARM的MPU 300

13.3.2 协处理器CP15及保护区域的定义 300

13.3.3 保护区域的重叠应用 306

13.3.4 MPU应用示例 306

13.4 虚拟存储与MMU 314

13.4.1 虚拟存储空间与物理内存空间 314

13.4.2 地址映射机构 315

13.4.3 页表的缓存——快表 318

13.4.4 页表的存储及二级页表 319

13.4.5 采用虚拟存储技术的优点 321

13.5 ARM的虚拟存储管理 322

13.5.1 ARM的页表结构 322

13.5.2 访问控制 326

13.5.3 MMU的配置 328

13.5.4 页Cache和写缓冲器的设置 328

13.5.5 快表 329

13.5.6 MMU异常 330

13.6 习题 331

附录 S3C44B0X引脚描述 332

参考文献 335

相关图书
作者其它书籍
返回顶部