当前位置:首页 > 工业技术
ARM Cortex-A9多核嵌入式系统开发教程

ARM Cortex-A9多核嵌入式系统开发教程PDF格式文档图书下载

工业技术

  • 购买点数:11
  • 作 者:杨福刚编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2016
  • ISBN:9787560641522
  • 标注页数:272 页
  • PDF页数:282 页
图书介绍:本书以ARM的多核处理器Cortex-A9位硬件平台,详细讲解了Cortex-A9的体系结构、编程模型、指令系统、硬件结构和主要片上资源。同时,结合所选用的基于Cortex-A9架构的芯片Exynos 4412,阐述了嵌入式Linux系统开发的各个主要环节,包括交叉编译环境的搭建、makefile的制作、U-Boot和Linux内核的分析,配置和移植等基础知识。

查看更多关于ARM Cortex-A9多核嵌入式系统开发教程的内容

图书介绍

第1章 嵌入式系统概述 1

1.1 嵌入式系统简介 1

1.2 现实中的嵌入式系统 2

1.3 嵌入式系统的概念和特点 3

1.3.1 嵌入式系统的定义 3

1.3.2 嵌入式系统的特点 4

1.4 嵌入式系统的组成 5

1.4.1 嵌入式系统的硬件组成 5

1.4.2 嵌入式系统的软件组成 5

1.5 嵌入式操作系统 6

1.6 嵌入式系统开发流程概述 7

1.6.1 嵌入式系统的基本设计流程 7

1.6.2 嵌入式系统的一般设计方法 9

1.7 思考和练习题 10

第2章 ARM微处理器体系结构 11

2.1 ARM简介 11

2.1.1 RISC结构特性 12

2.1.2 ARM体系架构的发展 13

2.1.3 ARM处理器系列 14

2.2 Cortex-A9内部功能及特点 16

2.2.1 Cortex-A9的内部功能特点 16

2.2.2 Cortex-A9的流水线 17

2.3 Cortex-A9架构的处理器状态 19

2.3.1 状态 19

2.3.2 优先级水平 20

2.4 Cortex-A9内核的工作模式 20

2.5 Cortex-A9架构的内核寄存器 21

2.5.1 ARM状态下的寄存器 21

2.5.2 当前程序状态寄存器 24

2.6 ARM的异常中断 26

2.6.1 ARM异常中断处理概述 26

2.6.2 ARM异常类型 26

2.6.3 ARM异常的优先级 30

2.6.4 ARM异常响应和处理程序返回 31

2.7 Cortex-A9的存储系统 32

2.7.1 ARM存储系统的相关概念 32

2.7.2 ARM Cortex-A9存储系统的架构 34

2.8 思考和练习题 35

第3章 ARM的指令系统及汇编程序设计 36

3.1 指令系统简介 36

3.1.1 ARM指令分类 36

3.1.2 ARM指令的编码格式 36

3.1.3 ARM指令的条件码域 37

3.2 寻址方式 38

3.3 ARM指令集 40

3.3.1 移位操作指令 40

3.3.2 数据处理指令 41

3.3.3 乘法指令与乘加指令 44

3.3.4 加载/存储指令 45

3.3.5 批量数据加载/存储指令 47

3.3.6 跳转指令 48

3.3.7 程序状态寄存器访问指令 49

3.3.8 数据交换指令 49

3.3.9 协处理器指令 50

3.3.10 异常产生指令 52

3.4 GNU ARM汇编器支持的伪操作指令 52

3.4.1 符号定义伪操作指令 52

3.4.2 数据定义伪操作指令 54

3.4.3 汇编控制伪操作指令 56

3.4.4 杂项伪操作指令 58

3.5 ARM汇编伪指令 62

3.6 ARM汇编编程简介 64

3.6.1 ARM汇编语言文件格式 64

3.6.2 ARM汇编语言语句格式 64

3.6.3 C语言和汇编语言的混合编程 66

3.7 思考和练习题 71

第4章 构建嵌入式开发环境 73

4.1 主机与目标板结合的交叉开发模式 73

4.2 建立主机开发的软件环境 74

4.2.1 主机Linux操作系统的安装 74

4.2.2 Minicom的安装配置 75

4.2.3 TFTP服务的安装配置 76

4.2.4 NFS的安装配置 77

4.3 建立交叉编译工具链 78

4.3.1 arm-linux-gcc选项 78

4.3.2 arm-linux-ld选项 84

4.3.3 arm-linux-objcopy选项 87

4.3.4 arm-linux-obidump选项 89

4.3.5 汇编代码、机器码和存储器的关系以及数据的表示 90

4.4 Makefile介绍 91

4.4.1 Makefile规则 94

4.4.2 Makefile文件里的赋值方法 94

4.4.3 Makefile常用函数 95

4.5 思考和练习题 99

第5章 Exynos 4412的GPIO 100

5.1 Exynos 4412处理器总览 100

5.2 GPIO接口 100

5.2.1 GPIO总览 100

5.2.2 GPIO引脚配置 102

5.2.3 GPIO端口寄存器 103

5.3 GPIO应用实例 105

5.3.1 电路连接 105

5.3.2 实例1:汇编代码点亮LED灯 106

5.3.3 实例2:C语言按键控制LED灯 109

5.4 思考和练习题 111

第6章 时钟管理单元 112

6.1 Exynos 4412时钟管理单元工作原理 112

6.1.1 Exynos 4412的时钟体系 112

6.1.2 Exynos 4412时钟管理单元工作过程 113

6.2 时钟管理单元控制寄存器 116

6.3 应用实例 119

6.4 思考和练习题 123

第7章 Exynos 4412中断系统 124

7.1 Exynos 4412的中断系统概述 124

7.1.1 Exynos 4412中断系统相关术语 124

7.1.2 通用中断控制器架构 126

7.1.3 GIC中断分组表 127

7.2 Exynos 4412中断机制分析 128

7.2.1 GIC的中断识别 128

7.2.2 GIC的中断控制 129

7.2.3 中断优先级 129

7.2.4 通用中断处理 130

7.3 中断控制相关寄存器 131

7.3.1 分配器、CPU接口配置寄存器 131

7.3.2 中断配置寄存器 133

7.3.3 中断优先级配置类寄存器 135

7.3.4 中断状态查询寄存器 136

7.3.5 软件中断产生寄存器 136

7.4 中断处理程序实例 137

7.4.1 电路连接 137

7.4.2 中断编程 138

7.5 思考和练习题 139

第8章 DMA控制器 140

8.1 DMAC简介 140

8.2 DMAC工作原理 141

8.3 PL330指令集 143

8.4 其他相关寄存器 147

8.5 DMA编程实例 147

8.5.1 DMA驱动程序编写步骤 147

8.5.2 DMA驱动实例 148

8.6 思考和练习题 152

第9章 PWM定时器和WatchDog定时器 153

9.1 PWM定时器 153

9.1.1 PWM定时器概述 153

9.1.2 PWM定时器工作原理 153

9.1.3 PWM定时器的死区功能 155

9.2 PWM定时器控制寄存器 156

9.3 PWM定时器应用实例 158

9.4 WatchDog定时器 160

9.4.1 看门狗原理 160

9.4.2 Exynos 4412看门狗控制 160

9.5 WatchDog定时器控制寄存器 161

9.6 WatchDog定时器程序实例 162

9.7 思考和练习题 163

第10章 NAND Flash控制器 164

10.1 NAND Flash功能介绍 164

10.1.1 Flash存储技术简介 164

10.1.2 芯片介绍 165

10.1.3 芯片的主要操作 169

10.2 NAND Flash相关控制寄存器 171

10.3 NAND Flash编程实例 173

10.3.1 电路连接 173

10.3.2 编程实例 174

10.4 思考和练习题 183

第11章 UART接口 184

11.1 串行口结构和工作原理 184

11.2 Exynos 4412串行口特点 185

11.3 串行口专用寄存器 188

11.4 应用实例 191

11.5 思考和练习题 194

第12章 I2C接口 195

12.1 I2C接口结构和特点 195

12.2 Exynos 4412内部的I2C控制器 198

12.2.1 I2C简介 198

12.2.2 I2C相关寄存器 199

12.3 I2C应用实例 200

12.3.1 基本操作 201

12.3.2 编程实例 204

12.4 思考和练习题 204

第13章 SPI接口 205

13.1 SPI总线协议 205

13.1.1 协议简介 205

13.1.2 协议内容 206

13.2 SPI控制器 207

13.2.1 Exynos 4412的SPI控制寄存器 207

13.2.2 时钟源选择 208

13.2.3 SPI相关寄存器 208

13.3 SPI应用实例 211

13.4 思考和练习题 216

第14章 ADC转换器 217

14.1 A/D转换器的基本原理 217

14.2 Exynos 4412的A/D转换器 218

14.2.1 Exynos 4412 A/D转换器概述 218

14.2.2 Exynos 4412 A/D转换器工作原理 218

14.3 Exynos 4412 ADC控制寄存器 219

14.4 ADC应用实例 220

14.5 思考和练习题 222

第15章 移植U-Boot 223

15.1 Bootloader简介 223

15.1.1 Bootloader的概念 223

15.1.2 Bootloader的结构和启动过程 224

15.2 U-Boot分析与移植 228

15.2.1 U-Boot简介 228

15.2.2 U-Boot源码结构 228

15.2.3 Exynos 4412启动过程 230

15.3 U-Boot的移植 232

15.3.1 U-Boot移植准备 232

15.3.2 U-Boot的源码移植及分析 234

15.3.3 移植/配置系统时钟 240

15.3.4 移植/配置NAND Flash 249

15.3.5 移植/配置串口驱动程序 252

15.3.6 增加对网卡芯片CS8900的支持 254

15.4 U-Boot的常用命令 255

15.5 使用U-Boot来执行程序 258

15.6 思考和练习题 258

第16章 移植嵌入式操作系统 259

16.1 嵌入式Linux内核 259

16.1.1 Linux内核简介 259

16.1.2 Linux内核的组成结构 260

16.1.3 Linux的源码结构 261

16.2 移植Linux内核 262

16.3 移植根文件系统 263

16.3.1 移植Busybox 265

16.3.2 构造根文件系统 267

16.3.3 创建根文件系统映像 268

16.4 下载内核 269

16.5 使用U-Boot加载根文件系统和映像 270

16.6 思考和练习题 271

参考文献 272

查看更多关于ARM Cortex-A9多核嵌入式系统开发教程的内容

相关书籍
作者其它书籍
返回顶部