《ARM处理器开发详解 基于ARM Cortex-A8处理器的开发设计》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:刘洪涛,邹南编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121177149
  • 页数:276 页
图书介绍:本书在全面介绍Cortex-A8处理器的体系结构、编程模型、指令系统及开发环境的同时,以基于Cortex-A8的应用处理器——S5PC100为核心,详细介绍了系统的设计及相关接口技术。接口技术中涵盖了I/O、中断、串口、存储器、PWM、A/D、DMA、IIC、SPI、Camera、LCD等,并提供了大量的实验例程。

第1章 嵌入式系统基础知识 1

1.1嵌入式系统概述 1

1.1.1嵌入式系统简介 1

1.1.2嵌入式系统的特点 2

1.1.3嵌入式系统的发展 3

1.2嵌入式系统的组成 5

1.2.1嵌入式系统硬件组成 5

1.2.2嵌入式系统软件组成 6

1.3嵌入式操作系统举例 6

1.3.1商业版嵌入式操作系统 7

1.3.2开源版嵌入式操作系统 7

1.4嵌入式系统开发概述 8

1.5学好微处理器在嵌入式学习中的重要性 14

1.6本章小结 16

1.7思考题 16

第2章 ARM技术概述 17

2.1 ARM体系结构的技术特征及发展 17

2.1.1 ARM公司简介 17

2.1.2 ARM技术特征 18

2.1.3 ARM体系架构的发展 19

2.2 ARM微处理器简介 20

2.2.1 ARM9处理器系列 21

2.2.2 ARM9E处理器系列 22

2.2.3 ARM11处理器系列 22

2.2.4 SecurCore处理器系列 23

2.2.5 StrongARM和Xscale处理器系列 23

2.2.6 MPCore处理器系列 23

2.2.7 Cortex处理器系列 24

2.2.8最新ARM应用处理器发展现状 26

2.3 ARM微处理器结构 27

2.4 ARM微处理器的应用选型 27

2.4.1 ARM芯片选择的一般原则 28

2.4.2选择一款适合ARM教学的CPU 28

2.5 CORTEX-A8内部功能及特点 31

2.6数据类型 32

2.6.1 ARM的基本数据类型 32

2.6.2浮点数据类型 33

2.6.3存储器大/小端 33

2.7 CORTEX-A8内核工作模式 34

2.8 CORTEX-A8存储系统 35

2.8.1协处理器(CP15) 36

2.8.2存储管理单元(MMU) 37

2.8.3高速缓冲存储器(Cache) 37

2.9流水线 37

2.9.1流水线的概念与原理 37

2.9.2流水线的分类 38

2.9.3影响流水线性能的因素 40

2.10寄存器组织 40

2.11程序状态寄存器 43

2.12三星S5PC100处理器介绍 46

2.13 FS S5PC100开发平台介绍 47

2.14本章小结 49

2.15练习题 50

第3章 ARM微处理器的指令系统 51

3.1 ARM处理器的寻址方式 51

3.1.1数据处理指令寻址方式 51

3.1.2内存访问指令寻址方式 53

3.2 ARM处理器的指令集 55

3.2.1数据操作指令 55

3.2.2乘法指令 62

3.2.3 Load/Store指令 65

3.2.4跳转指令 71

3.2.5状态操作指令 74

3.2.6协处理器指令 76

3.2.7异常产生指令 80

3.2.8其他指令介绍 81

3.3本章小结 83

3.4思考题 83

第4章 ARM汇编语言程序设计 85

4.1 GNU ARM汇编器支持的伪操作 85

4.1.1伪操作概述 85

4.1.2数据定义(Data Definition)伪操作 85

4.1.3汇编控制伪操作 87

4.1.4杂项伪操作 89

4.2 ARM汇编器支持的伪指令 89

4.2.1 ADR伪指令 89

4.2.2 ADRL伪指令 90

4.2.3 LDR伪指令 91

4.3 GNU ARM汇编语言的语句格式 92

4.4 ARM汇编语言的程序结构 94

4.4.1汇编语言的程序格式 94

4.4.2汇编语言子程序调用 95

4.4.3过程调用标准AAPCS 95

4.4.4汇编语言程序设计举例 97

4.5汇编语言与C语言的混合编程 98

4.5.1 GNU ARM内联汇编 98

4.5.2混合编程调用举例 100

4.6本章小结 102

4.7思考题 102

第5章 ARM开发及环境搭建 103

5.1仿真器简介 103

5.1.1 FS-JTAG仿真器介绍 103

5.1.2 ULINK介绍 104

5.2开发环境搭建 105

5.3 ECLIPSE FOR ARM使用 108

5.4编译工程 109

5.5调试工程 110

5.5.1配置FS-JTAG调试工具 110

5.5.2配置调试工具 111

5.6本章小结 114

5.7练习题 114

第6章 GPIO编程 115

6.1 GPIO功能介绍 115

6.2 S5PC100芯片的GPIO控制器详解 115

6.2.1特性 115

6.2.2 GPIO分组预览 116

6.2.3 S5PC100的GPIO常用寄存器分类 116

6.2.4 GPIO功能描述 116

6.2.5 S5PC100 I/O接口常用寄存器详解 117

6.2.6 GPIO数据寄存器 118

6.3 S5PC100 GPIO的应用 118

6.3.1电路连接 119

6.3.2寄存器设置 119

6.3.3程序编写 119

6.4本章小结 120

6.5练习题 120

第7章 ARM异常及中断处理 121

7.1 ARM异常中断处理概述 121

7.2 ARM体系异常种类 122

7.3 ARM异常的优先级 127

7.4 ARM处理器模式和异常 127

7.5 ARM异常响应和处理程序返回 128

7.5.1中断响应的概念 128

7.5.2 ARM异常响应流程 128

7.5.3从异常处理程序中返回 129

7.6 ARM的SWI异常中断处理程序设计 131

7.7 FIQ和IRQ中断 133

7.7.1中断分支 133

7.7.2 S5PC100中断机制分析 134

7.7.3 S5PC100中断处理程序实例 138

7.8本章小结 140

7.9练习题 140

第8章 串行通信接口 141

8.1串行通信概述 141

8.1.1串行通信与并行通信概念 141

8.1.2异步串行方式的特点 141

8.1.3异步串行方式的数据格式 142

8.1.4同步串行方式的特点 142

8.1.5同步串行方式的数据格式 142

8.1.6比特率、比特率因子与位周期 143

8.1.7 RS-232C串口规范 143

8.1.8 RS-232C接线方式 145

8.2 S5PC100异步串行通信 145

8.2.1 S5PC100串口控制器概述 145

8.2.2 UART寄存器详解 147

8.3接口电路与程序设计 150

8.3.1电路连接 150

8.3.2程序编写 150

8.3.3调试与运行结果 152

8.3.4红外收发程序 154

8.4本章小结 157

8.5练习题 157

第9章 存储器接口 158

9.1 FLASH ROM介绍 158

9.2 NOR FLASH操作 160

9.2.1 AM29LV 160D芯片介绍 160

9.2.2 AM29LV 160D字编程操作 161

9.2.3 AM29LV 160D扇区/块擦除操作 162

9.2.4 AM29LV 160D芯片擦除操作 163

9.2.5 AM29LV 160D与S5PC100的接口电路 163

9.2.6 AM29LV 160D存储器的程序设计 164

9.3 NAND FLASH操作 166

9.3.1芯片介绍 166

9.3.2读操作过程 167

9.3.3擦除操作过程 168

9.3.4写操作过程 169

9.4 S5PC100中NAND Flash控制器的操作 170

9.4.1 S5PC100 NAND Flash控制器概述 170

9.4.2 S5PC100 NAND Flash控制器寄存器详解 170

9.5 S5PC 100 NAND Flash接口电路与程序设计 172

9.5.1 K9F2G080U和S5PC100的接口电路 172

9.5.2 S5PC100控制K9F2G080U的程序设计 173

9.6本章小结 176

9.7练习题 176

第10章 定时器与RTC 177

10.1 S5PC100 PWM定时器 177

10.1.1 PWM定时器概述 177

10.1.2 PWM定时器特点 178

10.1.3 PWM定时器的寄存器 179

10.1.4 PWM定时器操作示例 184

10.2 S5PC 100看门狗定时器 185

10.2.1 S5PC100看门狗定时器概述 185

10.2.2看门狗定时器寄存器 186

10.2.3看门狗定时器程序编写 187

10.3 RTC 190

10.3.1 RTC介绍 190

10.3.2 RTC控制器 190

10.3.3 RTC控制器寄存器详解 191

10.3.4 RTC测试例子 192

10.4本章小结 193

10.5练习题 193

第11章 A/D转换器 194

11.1 A/D转换器原理 194

11.1.1 A/D转换基础 194

11.1.2 A/D转换的技术指标 195

11.1.3 A/D转换器类型 196

11.1.4 A/D转换的一般步骤 200

11.2 S5PC100A/D转换器 200

11.2.1 S5PC100A/D转换器概述 200

11.2.2 S5PC100A/D控制器寄存器 201

11.3 A/D转换器应用举例 203

11.3.1电路连接 203

11.3.2程序编写 203

11.3.3调试与运行结果 204

11.4本章小结 205

11.5练习题 205

第12章 DMA(PL330)控制器 206

12.1 PL330原理概述 206

12.1.1 DMAC简述 206

12.1.2 S5PC100下的DMAC模型 207

12.1.3 PL330简述 208

12.2 PL330详解 209

12.2.1 PL330指令集 209

12.2.2相关寄存器详解 215

12.3 S5PC100 PL330测试例子 217

12.4本章小结 221

12.5练习题 221

第13章 LCD接口设计 222

13.1 LCD控制器 222

13.1.1 LCD控制器介绍 222

13.1.2 S5PC100的LCD控制器介绍 223

13.1.3 S5PC100的LCD控制器操作 224

13.1.4 LCD控制器寄存器 226

13.2 LCD控制器实例 231

13.3本章小结 235

13.4练习题 235

第14章 CAM I F接口技术 236

14.1 OV9650介绍 236

14.1.1芯片功能描述 236

14.1.2 OV9650物理参数 237

14.1.3 OV9650寄存器详解 238

14.2 SCCB总线 240

14.2.1 SCCB协议介绍 240

14.2.2 SCCB的总线编程 241

14.3 CAMIF接口详解 242

14.3.1基于S5PC100的CAMIF接口介绍 242

14.3.2 S5PC100 CAMIF寄存器详解 244

14.3.3 CAMIF操作案例 247

14.4本章小结 251

14.5练习题 251

第15章 SPI接口 252

15.1 SPI总线协议理论 252

15.1.1协议简介 252

15.1.2协议内容 252

15.2 SPI控制器详解 254

15.2.1 S5PC100的SPI控制器简介 254

15.2.2时钟源控制 255

15.2.3寄存器详解 255

15.3 SPI开发例子 257

15.4本章小结 264

15.5练习题 264

第16章 I2C接口 265

16.1 I2C总线 265

16.1.1 I2C总线介绍 265

16.1.2 I2C总线术语 265

16.1.3 I2C总线位传输 266

16.1.4 I2C总线数据传输 266

16.1.5 I2C总线寻址方式 267

16.1.6快速和高速模式 268

16.2 I2C总线控制器 269

16.2.1 S5PC100下的I2C控制器介绍 269

16.2.2 I2C总线控制寄存器详解 269

16.3 I2C总线的实际应用 270

16.3.1应用分析 270

16.3.2代码实现 272

16.4本章小结 274

16.5练习题 274

参考文献 275