- 机械工业出版社
- 9787111597643
- 1-2
- 209323
- 46255858-6
- 平装
- 16开
- 2018-06
- 337
- 224
- 工学
- 电子科学与技术
- 电子信息工程
- 本科
内容简介
本书系统全面地介绍了嵌入式系统中广泛使用的ARM处理器及新的ARMCortexA系列处理器,主要内容包括ARM处理器的体系结构、指令系统;基于ARMCortex-A9内核的Exynos4412处理器,以及基于Exynos4412处理器的FS4412实验教学系统;Linux程序设计,基于FS4412实验教学平台的嵌入式Linux应用程序和驱动程序的设计;ARMCortexA处理器的应用实例。
目录
前 言
第1 章 ARM 嵌入式技术概论 1
1. 1 ARM 处理器的历史及发展 1
1. 2 ARM 处理器简介 2
1. 2. 1 ARM 处理器特征 2
1. 2. 2 ARM 处理器架构 2
1. 2. 3 Cortex 处理器架构 3
1. 3 ARM 处理器系列 3
1. 3. 1 Classic ARM 处理器 3
1. 3. 2 Cortex A 系列处理器 4
1. 3. 3 Cortex M 系列处理器 7
1. 3. 4 Cortex R 系列处理器 8
1. 3. 5 SecurCore 系列处理器 9
1. 4 ARM 处理器的芯片选型 10
本章小结 11
思考题 11
第2 章 ARM 处理器体系结构 12
2. 1 数据类型 12
2. 2 处理器工作模式 12
2. 3 ARM 处理器的存储系统 13
2. 3. 1 存储空间 13
2. 3. 2 存储格式 13
2. 3. 3 存储管理单元 14
2. 3. 4 高速缓冲存储器 14
2. 3. 5 协处理器 15
2. 4 寄存器组织 15
2. 4. 1 ARM 处理器模式下的寄存器分布 15
2. 4. 2 通用寄存器 17
2. 4. 3 程序状态寄存器 18
2. 5 异常处理 21
2. 5. 1 ARM 处理器异常类型 21
2. 5. 2 ARM 异常处理 22
2. 5. 3 异常优先级 27
2. 6 ARM Cortex A9 内核架构 28
2. 6. 1 ARM Cortex A9 架构简介 28
2. 6. 2 ARM Cortex A9 单核技术 28
2. 6. 3 ARM Cortex A9 多核技术 28
本章小结 31
Ⅵ
思考题 31
第3 章 ARM 处理器指令系统 32
3. 1 ARM 指令集概述 32
3. 2 ARM 指令的基本格式 33
3. 2. 1 ARM 指令集编码 33
3. 2. 2 ARM 指令基本语法格式 33
3. 3 ARM 指令的寻址方式 35
3. 4 ARM 存储器访问指令 39
3. 5 ARM 数据处理指令 42
3. 6 ARM 分支指令 49
3. 7 协处理器指令 50
3. 8 杂项指令 52
3. 9 其他指令介绍 54
本章小结 56
思考题 56
第4 章 Exynos4412 处理器简介 57
4. 1 处理器功能介绍 57
4. 2 处理器引脚介绍 59
4. 3 内核单元 64
4. 4 存储器系统 65
4. 5 多媒体处理单元 65
4. 6 外部连接及通信接口 66
4. 7 系统外设单元 66
4. 8 GPIO 单元 66
4. 9 通用中断控制器 67
4. 10 SPI 接口功能单元 68
4. 11 I2C 接口功能单元 69
4. 12 UART 接口功能单元 70
4. 13 ADC 功能单元 70
本章小结 71
思考题 71
第5 章 Exynos4412 实验教学系统设计 72
5. 1 实验教学系统概述 72
5. 2 Exynos4412 存储模块 75
5. 3 Exynos4412 电源管理系统 75
5. 4 LED/ KEY 模块 76
5. 5 UART 模块 77
5. 6 红外信号接收器 78
5. 7 CAN/ RS 485 通信接口模块 79
5. 8 3 AXIS 传感器模块 80
5. 9 温度传感器模块 80
5. 10 音频模块 81
5. 11 ADC 模块 82
5. 12 LCD 模块 82
Ⅶ
5. 13 摄像头接口模块 84
5. 14 TF 卡/ SD 卡存储模块 85
5. 15 USB 模块 85
本章小结 86
思考题 86
第6 章 Exynos4412 部件编程实例 87
6. 1 GPIO 编程 87
6. 1. 1 GPIO 功能描述 87
6. 1. 2 Exynos4412 的GPIO 常用寄存器分类 87
6. 1. 3 Exynos4412 的GPIO 常用寄存器详解 88
6. 1. 4 GPIO 编程实例 90
6. 2 中断控制器编程 94
6. 2. 1 ARM 处理器的中断响应流程 94
6. 2. 2 Exynos4412 中断概述 95
6. 2. 3 中断相关控制寄存器 95
6. 2. 4 ARM 中断编程实例 101
6. 3 异步串行编程 105
6. 3. 1 Exynos4412 串口简述 106
6. 3. 2 UART 通信寄存器详解 106
6. 3. 3 UART 通信编程实例 110
6. 4 PWM 定时器编程 113
6. 4. 1 PWM 定时器的寄存器 114
6. 4. 2 定时器的PWM 输出工作流程 116
6. 4. 3 PWM 的编程实例 116
6. 5 MMU 编程 118
6. 5. 1 MMU 的作用 118
6. 5. 2 MMU 的工作流程 119
6. 5. 3 MMU 编程实例 120
本章小结 123
思考题 123
第7 章 Linux 程序开发 124
7. 1 开发工具GNU 概述 124
7. 1. 1 GCC 编译器 124
7. 1. 2 GNU Make 126
7. 1. 3 makefile 编程实例 130
7. 2 Linux 文件I/ O 操作 132
7. 2. 1 Linux 系统调用和用户编程接口 132
7. 2. 2 Linux 文件I/ O 编程实例 133
7. 3 Linux 多线程程序设计 136
7. 3. 1 任务、进程和线程概述 136
7. 3. 2 多线程编程常用函数 137
7. 3. 3 多线程编程实例 138
7. 4 Linux 进程间通信 143
7. 4. 1 进程间通信方法概述 144
Ⅷ
7. 4. 2 进程间相关函数介绍 144
7. 4. 3 进程间通信编程实例 147
7. 5 Linux 驱动程序设计 154
7. 5. 1 Linux 的设备管理 154
7. 5. 2 设备驱动程序结构 155
7. 5. 3 字符型驱动编程实例 159
本章小结 163
思考题 164
第8 章 嵌入式Linux 程序开发 165
8. 1 嵌入式Linux 搭建 165
8. 1. 1 Linux 的交叉开发环境建立 165
8. 1. 2 嵌入式Linux 引导程序BootLoader 的配置和编译 167
8. 1. 3 嵌入式Linux 系统内核的配置和编译 170
8. 1. 4 嵌入式Linux 根文件系统设置 173
8. 2 嵌入式Linux LED 驱动程序开发 176
8. 2. 1 LED 驱动程序设计相关函数 177
8. 2. 2 LED 驱动程序设计 178
8. 2. 3 驱动程序编译 185
8. 2. 4 测试应用程序设计 186
8. 2. 5 驱动程序测试 187
8. 3 PWM 驱动程序开发设计实例 187
8. 3. 1 PWM 硬件连接原理 188
8. 3. 2 PWM 驱动源程序设计 188
8. 3. 3 PWM 驱动程序编译 193
8. 3. 4 PWM 测试应用程序设计及编译 194
8. 3. 5 PWM 测试 196
本章小结 197
思考题 197
第9 章 系统应用案例 198
9. 1 华为荣耀畅玩5x 手机 198
9. 1. 1 硬件结构 198
9. 1. 2 荣耀畅玩5x 手机的技术指标 198
9. 1. 3 高通骁龙615 处理器 200
9. 1. 4 海思处理器 202
9. 2 网络机顶盒 202
9. 2. 1 功能 202
9. 2. 2 原理结构 203
9. 2. 3 小米盒子3 增强版 204
9. 2. 4 天猫魔盒M10 206
本章小结 206
思考题 206
附录 ARM 处理器的CP15 协处理器 207
参考文献 216
第1 章 ARM 嵌入式技术概论 1
1. 1 ARM 处理器的历史及发展 1
1. 2 ARM 处理器简介 2
1. 2. 1 ARM 处理器特征 2
1. 2. 2 ARM 处理器架构 2
1. 2. 3 Cortex 处理器架构 3
1. 3 ARM 处理器系列 3
1. 3. 1 Classic ARM 处理器 3
1. 3. 2 Cortex A 系列处理器 4
1. 3. 3 Cortex M 系列处理器 7
1. 3. 4 Cortex R 系列处理器 8
1. 3. 5 SecurCore 系列处理器 9
1. 4 ARM 处理器的芯片选型 10
本章小结 11
思考题 11
第2 章 ARM 处理器体系结构 12
2. 1 数据类型 12
2. 2 处理器工作模式 12
2. 3 ARM 处理器的存储系统 13
2. 3. 1 存储空间 13
2. 3. 2 存储格式 13
2. 3. 3 存储管理单元 14
2. 3. 4 高速缓冲存储器 14
2. 3. 5 协处理器 15
2. 4 寄存器组织 15
2. 4. 1 ARM 处理器模式下的寄存器分布 15
2. 4. 2 通用寄存器 17
2. 4. 3 程序状态寄存器 18
2. 5 异常处理 21
2. 5. 1 ARM 处理器异常类型 21
2. 5. 2 ARM 异常处理 22
2. 5. 3 异常优先级 27
2. 6 ARM Cortex A9 内核架构 28
2. 6. 1 ARM Cortex A9 架构简介 28
2. 6. 2 ARM Cortex A9 单核技术 28
2. 6. 3 ARM Cortex A9 多核技术 28
本章小结 31
Ⅵ
思考题 31
第3 章 ARM 处理器指令系统 32
3. 1 ARM 指令集概述 32
3. 2 ARM 指令的基本格式 33
3. 2. 1 ARM 指令集编码 33
3. 2. 2 ARM 指令基本语法格式 33
3. 3 ARM 指令的寻址方式 35
3. 4 ARM 存储器访问指令 39
3. 5 ARM 数据处理指令 42
3. 6 ARM 分支指令 49
3. 7 协处理器指令 50
3. 8 杂项指令 52
3. 9 其他指令介绍 54
本章小结 56
思考题 56
第4 章 Exynos4412 处理器简介 57
4. 1 处理器功能介绍 57
4. 2 处理器引脚介绍 59
4. 3 内核单元 64
4. 4 存储器系统 65
4. 5 多媒体处理单元 65
4. 6 外部连接及通信接口 66
4. 7 系统外设单元 66
4. 8 GPIO 单元 66
4. 9 通用中断控制器 67
4. 10 SPI 接口功能单元 68
4. 11 I2C 接口功能单元 69
4. 12 UART 接口功能单元 70
4. 13 ADC 功能单元 70
本章小结 71
思考题 71
第5 章 Exynos4412 实验教学系统设计 72
5. 1 实验教学系统概述 72
5. 2 Exynos4412 存储模块 75
5. 3 Exynos4412 电源管理系统 75
5. 4 LED/ KEY 模块 76
5. 5 UART 模块 77
5. 6 红外信号接收器 78
5. 7 CAN/ RS 485 通信接口模块 79
5. 8 3 AXIS 传感器模块 80
5. 9 温度传感器模块 80
5. 10 音频模块 81
5. 11 ADC 模块 82
5. 12 LCD 模块 82
Ⅶ
5. 13 摄像头接口模块 84
5. 14 TF 卡/ SD 卡存储模块 85
5. 15 USB 模块 85
本章小结 86
思考题 86
第6 章 Exynos4412 部件编程实例 87
6. 1 GPIO 编程 87
6. 1. 1 GPIO 功能描述 87
6. 1. 2 Exynos4412 的GPIO 常用寄存器分类 87
6. 1. 3 Exynos4412 的GPIO 常用寄存器详解 88
6. 1. 4 GPIO 编程实例 90
6. 2 中断控制器编程 94
6. 2. 1 ARM 处理器的中断响应流程 94
6. 2. 2 Exynos4412 中断概述 95
6. 2. 3 中断相关控制寄存器 95
6. 2. 4 ARM 中断编程实例 101
6. 3 异步串行编程 105
6. 3. 1 Exynos4412 串口简述 106
6. 3. 2 UART 通信寄存器详解 106
6. 3. 3 UART 通信编程实例 110
6. 4 PWM 定时器编程 113
6. 4. 1 PWM 定时器的寄存器 114
6. 4. 2 定时器的PWM 输出工作流程 116
6. 4. 3 PWM 的编程实例 116
6. 5 MMU 编程 118
6. 5. 1 MMU 的作用 118
6. 5. 2 MMU 的工作流程 119
6. 5. 3 MMU 编程实例 120
本章小结 123
思考题 123
第7 章 Linux 程序开发 124
7. 1 开发工具GNU 概述 124
7. 1. 1 GCC 编译器 124
7. 1. 2 GNU Make 126
7. 1. 3 makefile 编程实例 130
7. 2 Linux 文件I/ O 操作 132
7. 2. 1 Linux 系统调用和用户编程接口 132
7. 2. 2 Linux 文件I/ O 编程实例 133
7. 3 Linux 多线程程序设计 136
7. 3. 1 任务、进程和线程概述 136
7. 3. 2 多线程编程常用函数 137
7. 3. 3 多线程编程实例 138
7. 4 Linux 进程间通信 143
7. 4. 1 进程间通信方法概述 144
Ⅷ
7. 4. 2 进程间相关函数介绍 144
7. 4. 3 进程间通信编程实例 147
7. 5 Linux 驱动程序设计 154
7. 5. 1 Linux 的设备管理 154
7. 5. 2 设备驱动程序结构 155
7. 5. 3 字符型驱动编程实例 159
本章小结 163
思考题 164
第8 章 嵌入式Linux 程序开发 165
8. 1 嵌入式Linux 搭建 165
8. 1. 1 Linux 的交叉开发环境建立 165
8. 1. 2 嵌入式Linux 引导程序BootLoader 的配置和编译 167
8. 1. 3 嵌入式Linux 系统内核的配置和编译 170
8. 1. 4 嵌入式Linux 根文件系统设置 173
8. 2 嵌入式Linux LED 驱动程序开发 176
8. 2. 1 LED 驱动程序设计相关函数 177
8. 2. 2 LED 驱动程序设计 178
8. 2. 3 驱动程序编译 185
8. 2. 4 测试应用程序设计 186
8. 2. 5 驱动程序测试 187
8. 3 PWM 驱动程序开发设计实例 187
8. 3. 1 PWM 硬件连接原理 188
8. 3. 2 PWM 驱动源程序设计 188
8. 3. 3 PWM 驱动程序编译 193
8. 3. 4 PWM 测试应用程序设计及编译 194
8. 3. 5 PWM 测试 196
本章小结 197
思考题 197
第9 章 系统应用案例 198
9. 1 华为荣耀畅玩5x 手机 198
9. 1. 1 硬件结构 198
9. 1. 2 荣耀畅玩5x 手机的技术指标 198
9. 1. 3 高通骁龙615 处理器 200
9. 1. 4 海思处理器 202
9. 2 网络机顶盒 202
9. 2. 1 功能 202
9. 2. 2 原理结构 203
9. 2. 3 小米盒子3 增强版 204
9. 2. 4 天猫魔盒M10 206
本章小结 206
思考题 206
附录 ARM 处理器的CP15 协处理器 207
参考文献 216