当前位置:首页 > 工业技术
嵌入式系统与移动设备开发基础
嵌入式系统与移动设备开发基础

嵌入式系统与移动设备开发基础PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:郭宏,胡威主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115482815
  • 页数:268 页
图书介绍:本教材以ARM11为基础,详细介绍以S3C6410器件为核心组成的嵌入式系统的硬件电路的原理与开发方法。首先介绍嵌入式系统的基本概念与开发流程,ARM微处理器与嵌入式系统硬件电路的原理,存储映射及嵌入式软件开发技术,ARM指令、程序设计以及开发工具的使用方法。然后介绍Android系统开发的开发环境搭建。最后以几个具体的案例为示范,结合具体硬件给出实际的开发过程。
《嵌入式系统与移动设备开发基础》目录

第一篇 嵌入式系统 1

第1章 嵌入式系统概述 1

1.1 嵌入式系统的基本概念 1

1.1.1 嵌入式系统的定义 1

1.1.2 嵌入式系统的发展 2

1.1.3 嵌入式系统的特点 4

1.2 嵌入式系统的分类 5

1.2.1 单个微处理器 6

1.2.2 嵌入式处理器可扩展的系统 6

1.2.3 复杂的嵌入式系统 6

1.2.4 在制造或过程控制中使用的计算机系统 6

1.3 嵌入式处理器 6

1.3.1 嵌入式微处理器 7

1.3.2 嵌入式微控制器 7

1.3.3 嵌入式DSP处理器 8

1.3.4 嵌入式片上系统 8

1.4 嵌入式系统的组成 9

1.4.1 嵌入式系统的硬件 10

1.4.2 嵌入式系统的软件 11

1.4.3 嵌入式系统的开发工具和开发系统 12

1.5 嵌入式操作系统 13

1.5.1 嵌入式操作系统的发展 13

1.5.2 嵌入式操作系统的分类 13

1.5.3 嵌入式操作系统的特点 13

1.5.4 主流嵌入式操作系统简介 14

本章小结 16

思考题 16

第2章 ARM11体系结构 17

2.1 ARM微处理器概述 17

2.1.1 ARM公司简介 17

2.1.2 ARM微处理器的特点 18

2.1.3 ARM体系结构的版本 18

2.2 ARM11系列微处理器 20

2.2.1 目标应用 20

2.2.2 ARM 11处理器特点 20

2.2.3 ARM 11处理器性能 20

2.2.4 ARM 11处理器规格 21

2.3 ARM11系列微处理器架构 21

2.4 ARM 11流水线 23

2.4.1 流水线结构的性能 23

2.4.2 流水线级数的影响 24

2.4.3 ARM 11处理器中流水线管理 24

2.5 ARM工作模式及寄存器组 25

2.5.1 ARM核工作模式 25

2.5.2 ARM寄存器分组 27

2.5.3 工作模式分析 28

2.6 各种模式工作机制 29

2.6.1 CPSR、 PC、 SPSR xxx和LR xxx寄存器工作关系 29

2.6.2 R13_xxx寄存器用途(SP xxx堆栈指针) 30

2.6.3 FIQ和IRQ特权模式(异常或中断模式) 30

2.6.4 Supervisor特权模式(异常) 30

2.6.5 Abort特权模式(异常) 30

2.6.6 Undefined特权(异常)模式 30

2.6.7 Secure Monitor特权(异常)模式 30

2.6.8 System特权模式 30

2.6.9 ARM中各个异常处理响应优先级 31

2.7 进入和退出异常中断的过程 31

2.7.1 ARM处理器对异常中断的响应过程 31

2.7.2 从异常中断处理程序中返回 33

本章小结 34

思考题 34

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

3.1 ARM微处理器的指令集概述 35

3.1.1 ARM微处理器的指令的分类与格式 35

3.1.2 指令的条件域 36

3.2 ARM指令的寻址方式 37

3.2.1 立即寻址 37

3.2.2 寄存器寻址 37

3.2.3 寄存器间接寻址 37

3.2.4 基址变址寻址 38

3.2.5 多寄存器寻址 38

3.2.6 相对寻址 38

3.2.7 堆栈寻址 39

3.3 ARM指令集 39

3.3.1 跳转指令 39

3.3.2 数据处理指令 40

3.3.3 乘法指令与乘加指令 44

3.3.4 程序状态寄存器访问指令 46

3.3.5 加载/存储指令 47

3.3.6 批量数据加载/存储指令 49

3.3.7 数据交换指令 49

3.3.8 移位指令(操作) 50

3.3.9 协处理器指令 51

3.3.10 异常产生指令 53

3.4 Thumb指令及应用 53

本章小结 54

思考题 54

第4章 S3C6410处理器 55

4.1 S3C6410处理器概述 55

4.2 S3C6410体系结构 56

4.3 S3C6410引脚定义 57

4.4 S3C6410引脚信号描述 61

4.4.1 外部存储器接口 61

4.4.2 串行通信接口 63

4.4.3 图像/视频接口 65

4.4.4 AD/DA接口 65

4.4.5 移动存储设备接口 66

4.4.6 系统管理器接口 66

4.4.7 电源组接口 68

4.5 存储器映射 68

4.5.1 存储器系统模块图 68

4.5.2 特殊设备地址空间 69

4.6 系统控制器 70

4.6.1 系统控制器的特性 70

4.6.2 功能描述 70

4.7 S3C6410复位信号 75

4.7.1 硬件复位 75

4.7.2 温复位 76

4.7.3 软件复位 76

4.7.4 看门狗复位 77

4.8 寄存器描述 77

4.8.1 部分SFR寄存器 77

4.8.2 PLL控制寄存器 78

4.8.3 时钟源控制寄存器 80

4.9 VIC中断控制器 81

4.9.1 S3C6410中断源 82

4.9.2 VIC寄存器 84

4.9.3 中断处理过程 91

本章小结 96

思考题 96

第5章 GPIO接口 97

5.1 GPIO接口概述 97

5.2 GPIO结构 97

5.3 GPIO端口 98

5.4 GPIO寄存器 99

5.4.1 端口A控制寄存器 99

5.4.2 端口B控制寄存器 101

5.4.3 端口C控制寄存器 102

5.4.4 端口D控制寄存器 104

5.4.5 端口E控制寄存器 105

5.4.6 端口F控制寄存器 107

5.4.7 端口G控制寄存器 108

5.4.8 端口H控制寄存器 110

5.4.9 端口I控制寄存器 112

5.4.10 端口J控制寄存器 114

5.4.11 端口K控制寄存器 115

5.4.12 端口L控制寄存器 117

5.4.13 端口M控制寄存器 119

5.4.14 端口N控制寄存器 120

5.4.15 端口O控制寄存器 122

5.4.16 端口P控制寄存器 124

5.4.17 端口Q控制寄存器 125

5.5 GPIO应用举例 127

5.5.1 电路连接 127

5.5.2 寄存器设置 127

5.5.3 程序的编写 127

本章小结 128

思考题 129

第6章 IIC总线接口 130

6.1 IIC总线接口概述 130

6.2 IIC总线接口操作模式 131

6.2.1 开始和停止条件 131

6.2.2 数据传输格式 132

6.2.3 ACK信号传输 132

6.2.4 读写操作 132

6.2.5 异常中断条件 133

6.2.6 IIC总线配置 133

6.2.7 每个模块的操作流程图 133

6.3 IIC总线接口特殊寄存器 135

6.3.1 多主控器IIC总线控制(IICCON)寄存器 135

6.3.2 多主控器IIC总线控制/状态(IICSTAT)寄存器 136

6.3.3 多主控器IIC总线地址(IICADD)寄存器 137

6.3.4 多主控器IIC总线发送/接收数据移位(IICDS)寄存器 137

6.3.5 多主控器IIC总线控制寄存器 137

6.4 IIC总线编程举例 138

6.4.1 IIC MasterWrP函数 138

6.4.2 IIC MasterRdP 函数 139

6.4.3 HC SlaveRdP函数 139

6.4.4 IIC SlaveWrP函数 140

本章小结 141

思考题 141

第7章 UART接口 143

7.1 UART接口概述 143

7.2 UART接口特性 143

7.3 UART的操作 144

7.3.1 数据发送 144

7.3.2 数据接收 144

7.3.3 自动流量控制(AFC) 145

7.3.4 接收FIFO的操作 145

7.3.5 发送FIFO的操作 145

7.3.6 RS-232C接口 145

7.3.7 中断/DMA请求的产生 146

7.3.8 UART错误状态FIFO 146

7.3.9 红外线(IR)模式 147

7.4 外部接口 148

7.5 寄存器描述 149

7.5.1 UART行控制寄存器 151

7.5.2 UART控制寄存器 151

7.5.3 UART的FIFO控制寄存器 153

7.5.4 UART Modem控制寄存器 154

7.5.5 UART接收(Rx)/(TX)发送状态寄存器 154

7.5.6 UART错误状态寄存器 155

7.5.7 UART的FIFO状态寄存器 156

7.5.8 UART Modem状态寄存器 156

7.5.9 UART发送缓冲寄存器(保存寄存器和FIFO寄存器) 157

7.5.10 UART接收缓冲寄存器(保存寄存器和FIFO寄存器) 157

7.5.11 UART波特率分频寄存器 158

7.5.12 波特率错误容限 159

7.5.13 UART中断处理寄存器 159

7.5.14 UART中断源处理寄存器 160

7.5.15 UART中断屏蔽寄存器 160

7.6 UART接口应用举例 161

本章小结 165

思考题 165

第8章 ADC和触摸屏接口 166

8.1 ADC及触摸屏概述 166

8.2 ADC及触摸屏的特性 166

8.3 ADC及触摸屏接口操作 167

8.4 ADC功能描述 167

8.4.1 A/D转换时间 167

8.4.2 触摸屏接口方式 168

8.4.3 待机模式 168

8.4.4 编程记录 168

8.5 ADC及触摸屏寄存器 169

8.5.1 ADC的控制寄存器(ADCCON) 169

8.5.2 ADC的触摸屏控制寄存器(ADCTSC) 170

8.5.3 ADC开始延迟寄存器(ADCDLY) 170

8.5.4 ADC的数据转换寄存器(ADCDAT0) 171

8.5.5 ADC的数据转换寄存器(ADCDAT1) 172

8.5.6 ADC的触摸屏UP-DOWN寄存器(ADCUPDN) 172

8.5.7 ADC触摸屏中断清除寄存器 173

8.6 ADC应用举例 173

8.6.1 硬件设计 173

8.6.2 软件设计 173

本章小结 175

思考题 175

第二篇 移动设备开发基础 176

第9章 Android系统级开发概述 176

9.1 Android系统的发展 176

9.2 Android系统架构 178

9.2.1 应用程序层 179

9.2.2 应用程序框架层 180

9.2.3 系统运行库层 180

9.2.4 Linux内核层 181

9.3 Android系统内核 182

9.3.1 Linux内核结构 182

9.3.2 Android内核和驱动 183

9.4 系统移植的概念和驱动开发的方法 184

本章小结 185

思考题 186

第10章 Android系统开发环境 187

10.1 交叉开发环境 187

10.1.1 交叉开发环境概述 187

10.1.2 宿主机与目标机的连接 188

10.1.3 宿主机环境 189

10.1.4 目标机环境 190

10.2 Linux操作系统及其开发工具 191

10.2.1 Linux操作系统概述 191

10.2.2 Linux操作系统核心与驱动程序 192

10.2.3 Linux交叉编译工具链 194

10.3 Android系统开发工具 196

10.3.1 Android代码目录结构 196

10.3.2 Ubuntu与虚拟机 197

10.3.3 Android系统级开发工具链 198

本章小结 201

思考题 201

第11章 Boot Loader 202

11.1 Boot Loader概述 202

11.1.1 Boot Loader主要功能 202

11.1.2 Boot Loader操作模式 203

11.1.3 Boot Loader的通信 204

11.2 Boot Loader工作过程 204

11.2.1 Boot Loader工作过程概述 204

11.2.2 Boot Loader阶段1 205

11.2.3 Boot Loader阶段2 207

11.3 U-Boot启动流程分析 208

11.3.1 U-Boot概述 208

11.3.2 U-Boot代码结构 209

11.3.3 U-Boot启动流程分析 209

11.3.4 Boot Loader的修改 213

本章小结 215

思考题 215

第12章 Android驱动开发 216

12.1 Android驱动开发概述 216

12.1.1 Android驱动概述 216

12.1.2 Android系统移植 217

12.2 Android硬件抽象层 218

12.2.1 Android硬件抽象层概述 218

12.2.2 HAL Legacy和HAL 219

12.2.3 支持HAL的驱动程序 220

本章小结 221

思考题 222

第13章 input输入子系统 223

13.1 用户输入系统介绍 223

13.1.1 Android输入系统的结构 224

13.1.2 移植工作 224

13.2 Linux input子系统 225

13.2.1 设备驱动层的注册 225

13.2.2 handler的注册过程 227

13.3 input驱动程序开发 228

13.3.1 文件input.h 228

13.3.2 文件KeycodeLabels.h 231

13.3.3 文件KeyCharacterMap.h 236

13.3.4 kl格式文件 240

13.3.5 kcm格式文件 240

13.3.6 文件EventHub.cpp 242

13.4 模拟器的实现 243

本章小结 244

思考题 244

第14章 传感器系统 246

14.1 传感器系统的结构 246

14.1.1 传感器系统Java层 248

14.1.2 传感器系统Frameworks层 253

14.2 传感器驱动开发 254

14.2.1 移植驱动程序 254

14.2.2 移植硬件抽象层 254

14.2.3 实现上层部分 257

14.3 传感器驱动的硬件抽象层实例 263

本章小结 267

思考题 268

返回顶部