第一章介绍了 ARM Cortex-A 系列处理器的基本功能,介绍 ARM 体系结构的基础知识,涵盖各种寄存器;
第二章和第三章提供了有关各个处理器的模式和一些背景知识;
第四章和第五章简要介绍了 ARM 汇编语言编程,以及汇编语言说明;
第六章和第七章中的介绍浮点和 ARM 高级 SIMD 扩展,相关主题的介绍;
第八章、第九章和第十章介绍内存系统,缓存,内存管理,内存排序;
第十一章和第十二章介绍了处理异常和中断;
第十三章概述了引导代码;
第十四章着眼于将 c 和汇编代码移植到 ARMv7架构、其他架构和旧版本的 ARM 架构问题;
第十五章介绍了应用程序的二进制接口;
第十六章和第十七章介绍了代码的分析和优化;
第十八章和第十九章介绍了多核处理器领域,这里我们详细介绍 ARM 如何实现这些内容以及如何编写代码来利用他们;
第二十章介绍了电源管理;
第二十一章介绍了 ARM 安全扩展;
第二十二章介绍了 ARM 虚拟化扩展;
第二十三章介绍了 LITTLE 技术;
第二十四章介绍了可供程序员使用的硬件调试功能;
附录 A 提供了可用 ARM 指令的摘要;
附录 B 简要介绍了一些可供 ARM 编程入门使用的工具和平台;
附录 C 提供了为 ARM 系统配置和构建 Linux 的分步说明。
词汇表
此处定义了本文档中使用的缩写和术语
缩写和术语 | 说明 |
---|---|
AAPCS | ARM 架构过程调用标准 |
ABI | 应用程序二进制接口 |
ACP | 加速器一致性端口 |
AEABI | ARM embedded ABI |
AHB | 高级高性能总线 |
AMBA | 高级微控制器总线架构 |
AMP | 非对称多线程处理 |
APB | 高级外设总线 |
ARM ARM | ARM 架构参考手册 |
ASIC | 专用集成电路 |
APSR | 应用程序状态寄存器 |
ASID | 地址空间 ID |
ATPCS | ARM Thumb 过程调用标准 |
AXI | 高级可扩展接口 |
BE8 | 字节不变大端模式 |
BIU | 总线接口单元 |
BSP | 板级支持包 |
BTAC | 分支目标地址缓存 |
BTB | 分支目标缓冲区 |
CISC | 复杂指令集计算机 |
CP15 | 协处理器 15,系统控制协处理器 |
CPSR | 当前计划状态寄存器 |
DAP | 调试访问端口 |
DBX | 直接字节码执行 |
DDR | 双倍数据速率 SDRAM |
DMA | 直接内存访问 |
DMB | 数据存储器屏障 |
DPU | 数据处理单元 |
DS-5 | ARM 开发工作室 |
DSB | 数据同步屏障 |
DSP | 数字信号处理 |
DSTREAM | 一个 ARM 调试和跟踪单元 |
DVFS | 动态电压,频率缩放 |
EABI | 嵌入式 ABI |
ECC | 纠错代码 |
ECT | 嵌入式交叉触发器 |
EOF | 文件结束 |
ETB | 嵌入式跟踪缓冲区 |
ETM | 嵌入式跟踪宏单元 |
FDT | 扁平化设备树 |
FIQ | 中断类型 |
FPSCR | 浮点状态和控制寄存器 |
GCC | GUN 编译器集合 |
GIC | 通用中断控制器 |
GIF | 图形交换格式 |
GPIO | 通用输入输出 |
Gprof | GUN profiler |
Harvard architecture | 具有物理上独立的存储和指令和数据的信号路径的架构 |
HCR | Hyp 配置寄存器 |
HMP | 异构多处理 |
ICU | 指令缓存单元 |
IDE | 集成开发环境 |
I/F | 接口(某些图表中使用的缩写) |
IPA | 中间物理地址 |
IRQ | 中断请求(通常是外部中断) |
ISA | 指令集体系结构 |
ISB | 指令同步屏障 |
ISR | 中断服务例程 |
Jazelle | ARM 字节码加速技术 |
JIT | just in time |
L1/L2 | 级别1, 级别2 |
LPAE | 大型物理地址扩展 |
LSB | 最低有效位 |