第1章Cortex-A8处理器简介 1
1.1 Cortex-A8处理器特点 1
1.2 Cortex-A8处理器基本结构 2
1.3 AM37x/DM37x系列处理器 4
1.4 AM37x/DM37x处理器基本结构 9
1.5 AM37x/DM37x处理器开发工具 11
第2章Cortex-A8处理器编程模型 13
2.1 Cortex-A8架构与指令集 13
2.1.1 Thumb-2指令集 13
2.1.2 ThumbEE指令集 14
2.1.3 Jazelle扩展体系结构 14
2.1.4 TrustZone安全扩展体系结构 15
2.1.5高级SIMD体系结构 16
2.1.6 VFPv3体系结构 16
2.1.7处理器操作状态 16
2.2数据类型与存储格式 17
2.2.1数据类型 17
2.2.2存储格式 17
2.3操作模式 18
2.4寄存器组 18
2.4.1通用寄存器 18
2.4.2状态寄存器 20
2.5处理器系统地址 24
2.6异常 24
2.6.1异常入口 25
2.6.2退出异常 25
2.6.3复位 25
2.6.4快速中断请求FIQ 26
2.6.5中断请求IRQ 26
2.6.6中止Abort 27
2.6.7通过CPSR/SPSR屏蔽不精确数据中止 28
2.6.8软件中断指令 29
2.6.9软件监视指令 29
2.6.10未定义指令异常 29
2.6.11断点指令 29
2.6.12异常向量 30
2.6.13异常优先级 30
2.7安全扩展 31
2.7.1出于安全扩展的软件考虑 31
2.7.2出于安全扩展的硬件考虑 32
2.8系统控制协处理器 33
第3章Cortex-A8存储管理模型 35
3.1虚拟内存 35
3.1.1一级页表L1 36
3.1.2二级页表L2 37
3.1.3节或页尺寸的选择 39
3.2页表缓存TLB 39
3.3存储属性 41
3.3.1访问许可 41
3.3.2存储属性 42
3.3.3域ID 43
3.4页表的使用 43
3.4.1地址空间ID 44
3.4.2转换表基址寄存器0和1 44
3.5存储顺序 45
3.5.1强顺序型和设备型 45
3.5.2普通型 46
3.5.3存储隔离 46
第4章 时钟、复位与功耗管理 48
4.1 Cortex-A8处理器时钟系统 48
4.1.1主要时钟域 48
4.1.2 AXI接口时钟ACLK 49
4.1.3调试时钟 49
4.1.4 ATB时钟ATCLK 49
4.2 Cortex-A8处理器复位系统 50
4.2.1上电复位 50
4.2.2软复位 51
4.2.3 APB和ATB复位 52
4.2.4硬件RAM阵列复位 52
4.2.5存储器阵列复位 53
4.3 Cortex-A8处理器功耗控制 53
4.3.1动态功耗管理 53
4.3.2静态功耗管理或漏电功耗管理 56
第5章AM37x/DM37x处理器基础 59
5.1电源复位时钟管理模块PRCM 59
5.1.1 PRCM的特点与结构 59
5.1.2 PRCM的功能 64
5.2 MPU子系统 71
5.2.1 MPU子系统结构 72
5.2.2 MPU各部件功能 73
5.3互联器子系统 74
5.3.1术语 74
5.3.2处理器内互联器架构 76
5.3.3 L3互联器 76
5.3.4 L4互联器 78
5.4中断控制器 80
5.4.1概述 80
5.4.2 MPU INTCPS 82
5.4.3中断处理过程 83
第6章AM37x/DM37x处理器存储系统 86
6.1内存映射 86
6.1.1全局内存映射 86
6.1.2 L3和L4内存空间映射 88
6.1.3 IVA2.2子系统内存空间映射 89
6.2内存子系统 90
6.2.1通用内存控制器GPMC 90
6.2.2 SDRAM控制器SDRC 93
6.2.3片上存储器子系统OCM 94
6.3内存管理单元MMU 95
6.4外部存储卡接口 97
第7章AM37x/DM37x处理器多媒体系统 101
7.1 IVA2.2子系统 101
7.1.1概述 101
7.1.2功能特征 102
7.1.3硬件请求 104
7.1.4内部结构 105
7.2 SGX子系统 112
7.2.1功能特征 113
7.2.2内部结构及组成 113
7.3摄像头图像信号处理器 115
7.3.1功能特征 116
7.3.2内部结构及组成 119
7.4显示子系统 128
7.4.1简介 128
7.4.2内部结构及功能 128
第8章AM37x/DM37x处理器通信接口 135
8.1多主机高速I2 C接口 135
8.1.1概述 135
8.1.2功能特征 136
8.2 HDQ/1-Wire总线模块 137
8.2.1概述 137
8.2.2功能特征 138
8.3 UART/IrDA/CIR通信模块 139
8.3.1概述 139
8.3.2功能特征 140
8.4多通道SPI接口 141
8.4.1概述 141
8.4.2功能特征 142
8.5多通道缓冲串行端口McBSP 142
8.5.1概述 142
8.5.2功能特征 142
8.5.3 SIDETONE核 144
8.6 USB OTG控制器和USB主机子系统 145
8.6.1高速USB OTG控制器 145
8.6.2高速USB主机子系统 147
第9章DevKit8500评估套件 150
9.1外围芯片 152
9.1.1 TPS65930 152
9.1.2 MT29C4G96MAZAPCJA-5 152
9.1.3 DM9000 152
9.1.4 FE1.1 153
9.1.5 TFP410 153
9.1.6 MAX3232 153
9.2外围接口 153
第10章Android操作系统基础 161
10.1 Android操作系统简介 161
10.1.1 Android版本历史 162
10.1.2开放手机联盟 164
10.2 Android基本架构 165
10.3 Android源码结构 166
10.3.1核心工程 166
10.3.2扩展工程 167
10.3.3 Java程序包 168
10.4 init进程 168
10.4.1 init可执行程序 169
10.4.2启动脚本initrc 170
10.5 shell工具 172
10.5.1 sh程序 172
10.5.2命令工具箱Toolbox 173
10.6几个重要系统进程 174
10.6.1 Servicemanager进程 175
10.6.2 Mediaserver进程 176
10.6.3 Zygote进程 176
10.6.4 SystemServer进程 176
第11章Android操作系统移植 178
11.1 Ubuntu的安装与配置 178
11.1.1软件获取 178
11.1.2创建虚拟机 178
11.1.3安装Ubuntu 182
11.2 Android代码的获取与提交 187
11.2.1工具配置 187
11.2.2获取Android源代码 190
11.2.3源代码基本结构 191
11.2.4提交修改后的源代码 192
11.3编译Android系统 193
11.3.1描述文件 193
11.3.2编译过程 194
11.3.3编译结果 195
11.3.4系统烧写与运行 196
11.4基于Devkit8500的Android系统开发 197
11.4.1获取Android源码 197
11.4.2编译过程 197
11.4.3制作文件系统 197
11.4.4烧写Android系统 199
第12章Android应用程序开发 202
12.1 Android应用程序开发环境 202
12.1.1 JDK获取与安装 202
12.1.2 Eclipse的获取与安装 204
12.1.3 Android SDK的获取与安装 204
12.2 Android应用程序开发示例 214
12.2.1创建新应用程序 214
12.2.2构建用户界面UI 216
12.2.3运行Android应用程序 218
参考文献 219