前言
ARM Accredited Engineer(AAE)是ARM提出的认证工程师计划。ARM为认证工程师计划提供了一个ARM系列知识的考试,旨在为全世界任何公司范围内的工程师提供一个“ARM认证工程师”水平及能力测试并授予资格认证的机会。AAE项目是为希望获得ARM架构专业知识可靠认证的工程师提供的唯一全球性认证项目,是评估ARM架构知识的统一标准,有助于招聘经理对求职者进行基准测试,亦有助于工程师从众多求职者中脱颖而出。ARM定义了一系列不同的考试,包括各种不同的学科领域和难度水平。
AAE认证主要考查ARMv7架构软件相关方面的知识,尤其是Cortex-A和Cortex-R部分,要求广泛了解ARM技术、侧重于应用处理器和实时处理器的一般嵌入式软件和系统开发人员。
本书就是针对AAE认证考试编写的,为使用ARM公司ARMv7-A体系结构的Cortex-A系列处理器的程序员介绍ARM技术。ARMv7是指体系结构的第7版本,A是对应用程序处理器的体系结构描述,包括Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9和Cortex-A15等处理器。
本书分为两个部分:ARM认证工程师学习指南和Cortex-A系列程序员指南。第1部分学习指南给出了AAE认证考试的要点及其要求掌握的程度。第2部分Cortex-A系列程序员指南针对第1部分给出的要点进行了详细的讲述。
本书汇集了各种信息与知识点,为想要开发最新Cortex-A系列处理器应用程序的程序员提供统一的指导,而且涵盖了硬件概念,如高速缓存和内存管理单元。本书的目的对于参加AAE认证考试的读者提供有益的帮助,对汇编语言和C语言的程序员提供有用的信息。
本书分为两个部分:ARM认证工程师学习指南和Cortex-A系列程序员指南。
第1部分学习指南给出了AAE认证考试的要点及其要求掌握的程度。
第2部分Cortex-A系列程序员指南针对第1部分给出的要点进行了详细的讲述。第2章~15章就AAE考试认证的要点进行了详细的讲解,内容包括ARM简介,ARM体系结构和处理器,工具、操作系统和开发板,ARM寄存器、模式和指令集,汇编语言简介,ARM/Thumb的统一汇编,浮点,NEON简介,高速缓存,内存管理单元,内存访问排序,异常处理,中断处理,其他异常处理程序;第16~30章就AAE考试认证提供更加高级的编程信息,内容包括引导代码,移植,应用程序二进制接口,性能分析,优化运行在ARM处理器的代码,编写NEON代码,多重处理器简介,SMP架构考虑,并行软件,并行软件的问题,电源管理,安全性,虚拟化,big.LITTLE简介,调试。
参与本书编写工作的还有:刘张辉、李政春、滕忠楠、李晓庆、付盈、乔林、吴飞、王秀文、王丽娜和陈晓冬。
由于时间仓促以及作者的水平,书中错误和不足在所难免,希望广大读者批评指正。
编者
2013年8月