《ARM嵌入式系统原理与开发》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王诚,梅霆主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2011
  • ISBN:9787115252524
  • 页数:362 页
图书介绍:本书共7章,内容包括嵌入式系统概述,ARM体系结构与指令集,ARM汇编语言及C语言程序设计基础,基于S3C2410的硬件结构与接口编程,嵌入式Linux操作系统及应用开发实例,嵌入式系统开发及实例,嵌入式系统实验指导。

第1章 嵌入式系统概述 1

1.1 嵌入式系统的概念 1

1.2 嵌入式系统的历史 2

1.3 嵌入式系统的组成 4

1.3.1 嵌入式系统的组成结构 4

1.3.2 嵌入式处理器 8

1.3.3 典型的嵌入式操作系统 9

1.4 嵌入式系统的特点 12

1.5 嵌入式系统的应用 12

1.6 嵌入式系统的发展趋势 16

思考题与习题 18

第2章 ARM体系结构与指令集 19

2.1 ARM处理器基础 19

2.1.1 ARM体系架构发展 19

2.1.2 ARM处理器内核系列 20

2.1.3 ARM体系架构分析 24

2.1.4 ARM处理器模式 27

2.1.5 ARM内部寄存器 27

2.1.6 ARM体系的异常处理 31

2.1.7 ARM体系的存储系统 33

2.2 ARM指令系统 34

2.2.1 ARM指令格式 34

2.2.2 ARM指令寻址方式 35

2.2.3 ARM指令集 38

2.3 Thumb指令系统 48

2.3.1 Thumb状态寄存器组织 49

2.3.2 Thumb指令集 50

思考题与习题 59

第3章 ARM汇编语言程序设计 60

3.1 ARM汇编的语句格式 60

3.1.1 符号命名规则 60

3.1.2 ARM汇编语言伪操作 60

3.1.3 ARM汇编语言伪指令 61

3.2 ARM汇编的程序结构 62

3.3 ARM汇编语言程序设计举例 64

3.4 ARM C语言基础及混合编程 65

3.4.1 ATPCS概述 66

3.4.2 基本ATPCS 66

3.4.3 支持ARM程序和Thumb程序混合使用的ATPCS 68

3.4.4 C语言及汇编语言混合编程 68

思考题与习题 74

第4章 基于S3C2410的硬件结构与接口编程 75

4.1 S3C2410简介 75

4.1.1 S3C2410X集成的主要片上功能 76

4.1.2 S3C2410X的特点 77

4.2 S3C2410X的存储器及其控制 81

4.2.1 S3C2410X的存储器控制器 81

4.2.2 NAND Flash控制器 82

4.3 时钟和电源管理 85

4.4 DMA 85

4.4.1 DMA请求源 86

4.4.2 DMA工作过程 86

4.4.3 基本的DMA时序 87

4.4.4 DMA传输尺寸 87

4.4.5 DMA专用寄存器 88

4.4.6 DMA编程实例 94

4.5 I/O端口 97

4.5.1 S3C2410X I/O端口的工作机制 97

4.5.2 S3C2410X端口的编程实例 106

4.6 定时器 106

4.6.1 S3C2410X定时器概述 106

4.6.2 S3C2410X定时器的工作原理 107

4.6.3 PWM输出控制直流电动机编程实例 116

4.7 异步串口通信 119

4.7.1 异步串口通信概述 119

4.7.2 S3C2410X的异步串行口简介 121

4.7.3 S3C2410X UART工作原理 123

4.7.4 S3C2410X UART编程实例 130

4.8 A/D转换器 133

4.8.1 A/D转换器简介 133

4.8.2 A/D转换的重要指标 135

4.8.3 ARM自带的10位A/D转换器 136

4.8.4 A/D转换器在扩展版的接法 138

4.8.5 A/D编程实例 138

4.9 ARM中断 139

4.10 LCD 149

4.10.1 LCD原理 149

4.10.2 LCD的驱动控制 150

4.10.3 与ARM自带LCD驱动器有关的寄存器 152

4.10.4 LCD编程实例 160

4.11 触摸屏 164

4.11.1 触摸屏的工作原理 164

4.11.2 触摸屏的控制 165

4.11.3 编程要点 167

4.11.4 S3C2410X中触摸屏接口的相关寄存器 167

4.11.5 触摸屏编程实例 168

4.12 键盘及LED控制 172

4.12.1 键盘及LED的接口原理 172

4.12.2 I2C总线 179

4.12.3 键盘及LED控制编程实例 187

第5章 嵌入式Linux操作系统 197

5.1 操作系统简介 197

5.1.1 操作系统 197

5.1.2 嵌入式操作系统 198

5.2 嵌入式Linux操作系统 199

5.2.1 Linux介绍 200

5.2.2 Linux作为嵌入式操作系统的优势 202

5.2.3 进程管理 203

5.2.4 存储管理 219

5.2.5 文件系统 227

5.2.6 设备管理 245

5.2.7 嵌入式Linux引导过程 261

5.3 基于嵌入式Linux开发应用实例 266

5.3.1 Linux启动流程 266

5.3.2 从“零”到一套精简的Linux平台 267

5.3.3 从x86平台到嵌入式平台 272

5.3.4 Linux平台上用户空间程序与内核交互方式 273

5.3.5 Linux平台上网络工具工作框架 277

思考题与习题 282

第6章 嵌入式系统应用开发及实例 283

6.1 引言 283

6.2 软件工程及嵌入式软件工程 285

6.2.1 概述 285

6.2.2 软件需求 287

6.2.3 软件设计 288

6.2.4 统一建模语言 289

6.2.5 嵌入式软件编程 293

6.3 基于ECX嵌入式平台的旅游系统应用实例 294

6.3.1 应用实例背景 294

6.3.2 设计目标 295

6.3.3 系统总体设计 295

6.4 基于Android操作系统平台的点餐系统应用实例 312

6.4.1 Android简介 312

6.4.2 Android架构 313

6.4.3 Android未来及前景 314

6.4.4 Android应用程序基础 315

6.4.5 Android开发环境搭建 317

6.4.6 Android工程目录结构 318

6.4.7 点餐系统实现 319

思考题与习题 328

第7章 嵌入式系统开发的实验基础 329

7.1 引言 329

7.2 ADS集成开发环境简介 329

7.2.1 ADS软件组成 329

7.2.2 使用CodeWarrior IDE 333

7.2.3 使用AXD IDE 340

7.3 基于嵌入式Linux系统的软件开发基础 344

7.3.1 嵌入式Linux系统介绍 344

7.3.2 Linux常用命令介绍 344

7.3.3 Linux系统下的vi编辑器 347

7.4 嵌入式Linux下交叉开发环境的建立与软件开发过程 348

7.4.1 嵌入式教学实验系统简介 349

7.4.2 嵌入式交叉开发环境的建立 352

7.4.3 基于Linux的应用程序的开发步骤 359

思考题与习题 361

参考文献 362