《ARM嵌入式应用开发完全自学手册》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张绮文,王廷广编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121085093
  • 页数:408 页
图书介绍:本书从实用角度出发,通过开发技术与实际工程案结合的形式,详细介绍了ARM嵌入式应用开发的方法、技术与流程。全书共分12章,主要内容包括:ARM 处理器内部结构、ARM 指令系统与编程、ARM开发环境与工具、ARM的系统调试、ARM μC/OS-Ⅱ移植与应用设计、ARM嵌入式Linux的应用开发、 ARM外围设备的编程开发、ARM嵌入式系统组成与开发流程,以及远程控制用印系统、无纸化排队叫号系统和CDMA车辆报警器3个系统实例。

基础篇 1

第1章 ARM处理器概述 1

1.1 ARM公司简介 1

1.2 ARM特点与应用领域 2

1.2.1 ARM特点 2

1.2.2 ARM应用领域 2

1.3 ARM处理器系列 3

1.4 ARM主流芯片介绍 7

1.4.1 ATMEL公司带ARM核的芯片 7

1.4.2 ADMtek公司带ARM核的芯片 12

1.4.3 Cirrus Logic公司带ARM核的芯片 13

1.4.4 Intel公司带ARM核的芯片 14

1.4.5 LinkUp公司带ARM核的芯片 16

1.4.6 NetSilicon公司带ARM核的芯片 17

1.4.7 SAMSUNG公司带ARM核的芯片 21

1.4.8 TI公司带ARM核的芯片 23

1.4.9 Triscend公司带ARM核的芯片 24

1.5 本章总结 26

第2章 ARM的系统结构 27

2.1 ARM内核基本结构 27

2.1.1 ARM内核 27

2.1.2 ARM扩展功能块 28

2.1.3 ARM启动方式 30

2.2 ARM处理器运行模式 31

2.3 ARM寄存器 31

2.3.1 通用寄存器 32

2.3.2 程序状态寄存器 33

2.3.3 ARM状态下的寄存器 35

2.3.4 Thumb状态下的寄存器 36

2.4 ARM存储系统 37

2.4.1 ARM存储方法 37

2.4.2 存储空间管理单元MMU 37

2.5 ARM流水线与时序 39

2.5.1 ARM流水线 39

2.5.2 ARM时序 40

2.6 ARM中断与异常 41

2.6.1 ARM异常类型 41

2.6.2 异常的响应及返回 42

2.6.3 异常的描述 42

2.6.4 异常的处理 44

2.7 ARM的总线接口 45

2.7.1 ARM的存储器接口 45

2.7.2 ARM的协处理器接口 55

2.7.3 AMBA接口 60

2.8 本章总结 64

第3章 ARM指令系统与编程 65

3.1 ARM 32位指令系统 65

3.1.1 ARM指令系统概述 65

3.1.2 ARM定点指令集 68

3.1.3 ARM浮点指令集 89

3.2 ARM 16位Thumb指令系统 93

3.2.1 Thumb指令系统概述 93

3.2.2 Thumb指令集 94

3.3 ARM汇编语言设计 105

3.3.1 ARM汇编器所支持的伪指令 105

3.3.2 汇编语言的语句格式 112

3.3.3 汇编语言的程序结构 115

3.4 ARM C语言设计 117

3.4.1 ARM C/C++编程设计 117

3.4.2 ARM C/C++与汇编混合编程 127

3.4.3 ARM C/C++编译器 136

3.4.4 C语言优化编程 141

3.5 本章总结 146

第4章 ARM开发环境与工具 147

4.1 ADS开发环境 147

4.1.1 CodeWarrior的使用 147

4.1.2 AXD的使用 152

4.2 SDT开发环境 154

4.2.1 SDT开发环境及特点 154

4.2.2 SDT调试环境 154

4.2.3 利用SDT软件编程实例 154

4.3 Linux的GNU编译工具 157

4.3.1 Linux基础知识 157

4.3.2 GNU汇编器gas 159

4.3.3 GNU编译器gcc 160

4.3.4 GNU Make工具 162

4.3.5 GNU链接器ld 169

4.3.6 GNU应用实例 170

4.4 本章总结 171

第5章 ARM的系统调试 172

5.1 ARM调试方法概述 172

5.2 AXD平台仿真器调试 173

5.2.1 初始化存储器 173

5.2.2 在线仿真 174

5.2.3 常见问题 175

5.3 基于Angel的调试系统 175

5.3.1 基于Angel的调试系统概述 176

5.3.2 使用Angel开发应用程序 178

5.3.3 Angel执行的操作 182

5.3.4 将Angel移植到特定的目标系统 184

5.4 基于JTAG的调试系统 201

5.4.1 调试接口JTAG介绍 201

5.4.2 基于JTAG的调试系统的特点 203

5.4.3 基于JTAG的调试系统结构 204

5.4.4 目标系统中的调试功能扩展部件 205

5.4.5 基于JTAG的调试过程 206

5.5 本章总结 206

提高篇 207

第6章 μC/OS-Ⅱ移植与应用设计 207

6.1 μC/OS-Ⅱ概述 207

6.1.1 μC/OS-Ⅱ简介 207

6.1.2 μC/OS-Ⅱ的特点 208

6.2 μC/OS-Ⅱ移植过程 209

6.2.1 准备内容说明 209

6.2.2 μC/OS-Ⅱ文件体系结构 209

6.2.3 μC/OS-Ⅱ移植条件 209

6.2.4 μC/OS-Ⅱ在S3C44B0X上的移植 210

6.3 μC/OS-Ⅱ软件设计实例 211

6.4 实例总结 213

第7章 ARM嵌入式Linux的应用开发 214

7.1 嵌入式Linux开发的一般流程 214

7.2 ARM嵌入式Linux开发环境构造 215

7.3 BOOT LOADER的安装 217

7.4 Linux系统移植原理与过程 228

7.4.1 Linux系统移植原理 228

7.4.2 ARM Linux的移植过程 230

7.5 Linux根文件系统的原理与创建 237

7.5.1 根文件系统原理 237

7.5.2 根文件创建过程 240

7.5.3 相关总结 246

7.6 Linux下的GUI系统配置与移植 246

7.6.1 GUI系统原理 246

7.6.2 不同GUI平台的移植配置 249

7.6.3 GUI图形显示的实现 251

7.7 编写嵌入式Linux的设备驱动程序 254

7.8 Linux应用开发实例:GPIO设备程序开发 256

7.8.1 实例说明 256

7.8.2 GPIO设备驱动原理 257

7.8.3 GPIO设备程序开发 258

7.9 本章小结 259

第8章 ARM外围设备的编程开发 260

8.1 ARM外围设备编程原理 261

8.1.1 Flash的工作原理与编程 261

8.1.2 SDRAM的工作原理与编程 268

8.1.3 串口、以太网口的设计 272

8.1.4 电源模块 273

8.1.5 液晶显示模块LCD 274

8.1.6 键盘模块 275

8.2 ARM外围设备设计实例1——USB设备模块设计 276

8.2.1 实例说明 276

8.2.2 设计思路分析 276

8.2.3 硬件电路设计 279

8.2.4 软件设计 282

8.2.5 实例小结 286

8.3 ARM外围设备设计实例2——I2C总线接口设计 286

8.3.1 实例说明 286

8.3.2 I2C设计原理 286

8.3.3 I2C硬件电路设计 287

8.3.4 软件设计 289

8.3.5 实例小结 298

8.4 本章小结 298

实战篇 299

第9章 ARM嵌入式系统组成与开发流程 299

9.1 ARM嵌入式系统的组成 299

9.2 ARM嵌入式系统体系结构 299

9.2.1 硬件体系结构 300

9.2.2 软件体系结构 301

9.3 ARM嵌入式硬件平台实现方法 302

9.3.1 硬件电路板设计 302

9.3.2 ARM硬件设计原则 303

9.4 ARM嵌入式软件的开发方法 304

9.4.1 软件开发流程 304

9.4.2 软件开发环境构建 306

9.5 本章总结 306

第10章 远程控制用印系统设计(基于μC/OS-Ⅱ系统) 307

10.1 实例说明 307

10.2 设计思路分析 308

10.2.1 远程用印系统实现方案 308

10.2.2 用印系统的扩展应用实现方案 308

10.3 硬件电路设计 308

10.3.1 总体电路设计 308

10.3.2 步进电机驱动模块 309

10.3.3 LCD数据显示模块 310

10.4 软件设计 312

10.4.1 步进电机的S曲线实现 312

10.4.2 程序代码与注释 313

10.5 实例总结 330

第11章 基于ARM无线的无纸化排队叫号系统 331

11.1 系统说明 331

11.2 系统实现方案 332

11.3 硬件电路设计 333

11.3.1 CC1100芯片 333

11.3.2 接口电路 335

11.3.3 SPI介绍 337

11.3.4 LPC2132的SPI控制寄存器介绍 339

11.4 软件设计 339

11.5 程序代码与注释 345

11.6 实例总结 370

第12章 基于GPSOne的CDMA车辆报警器设计 371

12.1 系统说明 371

12.1.1 系统构成 371

12.1.2 报警器构成 372

12.2 系统方案设计 372

12.2.1 传统设计思路 372

12.2.2 采用GPSOne的设计思路 373

12.3 硬件电路设计 374

12.3.1 DTGS-800介绍 374

12.3.2 电源电路 375

12.3.3 DTGS-800接口以及其与LPC2132通信接口 376

12.3.4 UIM卡的接口电路 377

12.3.5 工作指示灯、模块忙信号指示灯电路及按键电路 377

12.3.6 模块复位、蜂鸣器和震动传感器电路 378

12.3.7 I2C及串行EEPROM电路 378

12.3.8 系统总体电路 379

12.4 软件设计 380

12.4.1 DTGS-800支持的AT指令 380

12.4.2 软件工作流程 383

12.5 代码说明与注释 384

12.5.1 系统初始化 384

12.5.2 主函数处理的任务 389

12.5.3 中断处理和数据接收判断 392

12.5.4 源程序附录(主要程序) 394

12.6 实例总结 408