《ARM嵌入式系统结构与编程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:邱铁编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302194064
  • 页数:371 页
图书介绍:本书采取循序渐进的原则,对嵌入式底层硬件知识进行精心规划,以大量的实例说明技术难点,深入浅出,使嵌入式系统初学者能够低起点、高效率的学习理论、深入实践,从而为嵌入式系统开发打下坚实的基础。

第1章 绪论 1

1.1 嵌入式系统定义 1

1.1.1 嵌入式系统发展历程 1

1.1.2 嵌入式系统的定义与特点 2

1.2 嵌入式操作系统 3

1.2.1 嵌入式实时操作系统 3

1.2.2 实时操作系统的典型应用 5

1.3 嵌入式技术在工程领域的应用 6

1.4 嵌入式技术的发展趋势 8

思考与练习题 9

第2章 ARM技术与ARM体系结构 10

2.1 ARM体系结构版本与内核 10

2.1.1 ARM体系结构版本 10

2.1.2 ARM内核版本命名规则 12

2.1.3 主流ARM处理器内核系列与应用 12

2.2 ARM内核模块 15

2.3 ARM处理器的工作模式 18

2.4 内部寄存器 19

2.4.1 通用寄存器及其分布 19

2.4.2 程序状态寄存器 20

2.5 ARM异常处理 22

2.6 存储方式与存储器映射机制 25

2.7 ARM流水线技术分析 26

思考与练习题 30

第3章 ARM指令集寻址方式 31

3.1 ARM指令的编码格式 31

3.2 数据处理指令寻址方式 32

3.3 Load/Store指令寻址 35

3.3.1 地址计算方法 35

3.3.2 字、无符号字节寻址 36

3.3.3 半字、有符号字节寻址 40

3.4 批量Load/Store指令寻址方式 44

3.5 协处理器指令寻址方式 46

思考与练习题 49

第4章 ARM指令集系统 50

4.1 数据处理指令 50

4.1.1 基本数据处理指令 50

4.1.2 乘法指令 57

4.1.3 杂类的数据处理指令 61

4.2 ARM分支指令 61

4.3 加载/存储指令 64

4.3.1 加载/存储字、无符号字节指令 65

4.3.2 半字、有符号字节访问指令 68

4.4 批量加载/存储指令 69

4.4.1 基本批量字数据加载/存储指令 70

4.4.2 用户模式下的批量字数据加载/存储指令 71

4.4.3 带PSR操作的批量字数据加载指令 72

4.5 交换指令 73

4.6 程序状态寄存器PSR访问指令 75

4.7 协处理器操作指令 77

4.7.1 协处理器数据操作指令 78

4.7.2 协处理器加载/存储指令 78

4.7.3 ARM寄存器与协处理器寄存器数据传输指令 80

4.8 异常产生指令 81

思考与练习题 82

第5章 Thumb指令 84

5.1 Thumb数据处理指令 84

5.1.1 寄存器移位指令 85

5.1.2 低位寄存器算术运算指令 86

5.1.3 ALU操作指令 88

5.1.4 带高位寄存器操作的Thumb指令 89

5.1.5 带SP/PC的算术运算指令 90

5.2 Thumb存储器操作指令 91

5.2.1 字节、半字和字的加载/存储指令 92

5.2.2 批量加载/存储指令 96

5.3 Thumb分支指令 98

5.3.1 B分支指令 98

5.3.2 带链接的分支指令 100

5.3.3 带状态切换的分支指令 100

5.4 Thumb软中断指令 101

5.5 Thumb指令功能码段分析 102

5.5.1 Thumb与ARM实现功能比较 102

5.5.2 Thumb与ARM性能比较 103

思考与练习题 103

第6章 ARM汇编伪指令与伪操作 105

6.1 汇编语言伪指令 105

6.1.1 ARM汇编语言伪指令 105

6.1.2 Thumb汇编语言伪指令 108

6.2 ARM汇编语言伪操作 109

6.3 ARM汇编伪操作 110

6.3.1 符号定义伪操作 110

6.3.2 数据定义伪操作 115

6.3.3 汇编代码控制伪操作 121

6.3.4 汇编信息报告控制伪操作 124

6.3.5 指令集类型标识伪操作 127

6.3.6 文件包含伪操作 127

6.3.7 其他类型伪操作 129

6.4 GNU ARM汇编伪操作 137

6.4.1 符号定义伪操作 137

6.4.2 数据定义伪操作 139

6.4.3 汇编与反汇编代码控制伪操作 144

6.4.4 预定义控制伪操作 147

思考与练习题 150

第7章 汇编语言程序设计 152

7.1 ARM编译环境下汇编语句 152

7.1.1 ARM编译环境下汇编语句格式 152

7.1.2 ARM编译环境下汇编语句中符号规则 152

7.2 GNU环境下汇编语句与编译说明 156

7.2.1 GNU环境下ARM汇编语句格式 156

7.2.2 GNU环境下ARM汇编程序编译 157

7.3 ARM汇编语言程序设计规范 158

7.4 ARM汇编语言程序设计实例解析 160

思考与练习题 186

第8章 ARM汇编语言与嵌入式C混合编程 188

8.1 嵌入式C编程规范 188

8.2 嵌入式C程序设计中的位运算 190

8.3 嵌入式C程序设计中的几点说明 193

8.3.1 volatile限制符 193

8.3.2 地址强制转换与多级指针 194

8.3.3 预处理的使用 196

8.4 嵌入式C程序设计格式 200

8.5 过程调用标准ATPCS与AAPCS 203

8.5.1 寄存器使用规则 203

8.5.2 数据栈使用规则 204

8.5.3 参数传递规则 205

8.6 ARM汇编语言与嵌入式C混合编程 208

8.6.1 内嵌汇编 208

8.6.2 ARM汇编语言与嵌入式C程序相互调用 211

思考与练习题 214

第9章 S3C44B0/S3C2410硬件结构与关键技术分析 216

9.1 处理器简介 216

9.2 S3C44B0/S3C2410存储控制器 219

9.2.1 S3C44B0存储控制与地址空间 219

9.2.2 S3C2410存储控制与地址空间 220

9.2.3 S3C44B0/S3C2410存储位宽控制 221

9.2.4 S3C44B0/S3C2410存储器接口时序分析 222

9.2.5 S3C44B0/S3C2410存储控制寄存器 225

9.2.6 SDRAM接口电路设计 232

9.2.7 S3C44B0存储器初始化实例 233

9.3 S3C2410 NAND Flash控制器 234

9.4 S3C44B0/S3C2410时钟电源管理 240

9.4.1 S3C44B0/S3C2410时钟管理 240

9.4.2 S3C44B0/S3C2410电源管理 243

9.4.3 S3C44B0/S3C2410时钟与电源管理专用寄存器 245

9.5 S3C44B0/S3C2410通用I/O端口 250

9.5.1 端口控制描述 251

9.5.2 端口寄存器 251

9.5.3 通用I/O接口设计实例 276

9.6 S3C44B0/S3C2410中断机制 279

9.6.1 S3C44B0中断控制器 279

9.6.2 S3C2410中断控制器 281

9.6.3 S3C44B0/S3C2410中断控制特殊功能寄存器 284

9.6.4 S3C44B0/S3C2410中断控制器设计实例 297

思考与练习题 299

第10章 S3C44B0/S3C2410通信与LCD接口技术 302

10.1 S3C44B0/S3C2410 UART 302

10.1.1 UART原理 302

10.1.2 S3C44B0/S3C2410 UART模块 303

10.1.3 S3C44B0/S3C2410 UART操作 305

10.1.4 UART中断与波特率的计算 306

10.1.5 S3C44B0/S3C2410 UART专用功能寄存器 308

10.1.6 S3C44B0/S3C2410 UART设计实例 313

10.2 S3C44B0/S3C2410 I2C总线接口 315

10.2.1 I2C总线原理 315

10.2.2 S3C44B0/S3C2410 I2C总线功能模块 318

10.2.3 S3C44B0/S3C2410 I2C总线操作 318

10.2.4 S3C44B0/S3C2410 I2C专用功能寄存器 322

10.2.5 S3C44B0/S3C2410 I2C总线设计实例 325

10.3 S3C44B0/S3C2410 LCD控制器 329

10.3.1 LCD简介 329

10.3.2 S3C44B0/S3C2410 LCD控制器模块 330

10.3.3 S3C44B0/S3C2410 LCD控制器专用功能寄存器 343

10.3.4 S3C44B0/S3C2410 LCD控制器设计实例 354

思考与练习题 359

附录A S3C44B0/S3C2410封装与I/O复用信息 361

附录B 链接定位与系统引导程序 368

参考文献 371