前言

目前主要的嵌入式CPU架构有ARM、Am186/88、SC-400、MIPS、PowerPC,其中基于ARM架构的嵌入式CPU在手持移动设备和通信等嵌入式领域占据绝对的市场,据国外媒体报道,至2011年,英国芯片制造商ARM Holdings PLC生产的芯片已经成为全球手机和平板电脑芯片的制造执行标准,ARM在全球手机芯片的市场份额已经超过90%,所以学习嵌入式体系架构,ARM必是首选。

目前类似ARM体系结构的书籍已出版了好多,更多的是专注于理念知识的讲解,但笔者认为一本好的技术方面的书籍,特别是作为专业类的技术性教材,要知识体系结构完整、基本概念及知识点清晰,通俗易懂,配套实验丰富。本书注意到这些特点,并提取了企业中ARM底层工程师的经验和精华并综合了重点大学一线教师的建议,合力打造了这本能在实际工作中使用的编程技术的书。

本书共分为7章,前后关联、层层递进、由简单到复杂、由单一到综合并配有大量的跟踪实验;从理论到实践,从感性到理性,从而使读者学习ARM体系结构及ARM汇编等不再枯燥无味。

第1章ARM处理器概述,介绍了ARM处理器的一些基本概念、ARM公司及ARM系列的发展史,使读者从感性上认识什么是ARM。

第2章ARM体系结构,详细介绍了什么是ARM体系结构,并从专业角度深度剖析ARM的内部结构和工作方式,包括Load/Store体系结构、RISC的设计思想、ARM流水线的思想及流水线的组织结构和ARM底层开发的调试方法。

第3章ARM编程模型,对ARM微处理器的体系结构、寄存器的组织、处理器的工作状态、运行模式以及处理器异常等内容进行了描述,这些内容也是ARM体系结构的基本内容,是系统软硬件设计的基础。希望读者能了解ARM微处理器的基本工作原理和一些与程序设计相关的基本技术细节,以便为以后的程序设计打下基础。

第4章ARM微处理器的指令系统,介绍了ARM指令集、Thumb指令集,以及各类指令对应的寻址方式,通过对本章的阅读,希望读者能够了解ARM微处理器所支持的指令集及具体的使用方法。

第5章ARM汇编语言程序设计,系统地介绍了常见的伪操作,如符号定义伪操作、数据定义伪操作、汇编控制伪操作、信息报告伪操纵宏指令以及其他伪指令,并举例说明了其用法。然后对常见的几个ARM伪指令进行了讲解。在本章的最后部分介绍了ARM汇编语言与C语言混合编程。

第6章Bootload启动代码分析,主要的任务就是对启动代码的解读,以期读者在理解ARM硬件的基础上,对ARM的工作模式以及运行的状况有一个深入的理解。

第7章ARM RealView MDK集成开发环境,介绍了ARM RealView MDK集成开发环境的使用,本书大部分实验都是基于这个开发环境的,所以必须要熟练掌握RealView MDK的配置、使用及相关功能。并对MDK嵌入式开发中比较实用的三种解决方案:Keil MDK编译器与ULINK2使用、Keil MDK编译器与J-LINK使用、Keil MDK编译器与H-JTAG使用做了讲解。

本书所配套的PPT、课程大纲、代码等内容,可到华信教育资源网(www.hxedu.com.cn)免费下载。

在编写本书的过程中,得到了中软国际的很多领导、同事、朋友以及电子工业出版社编辑部的程超群的帮助,在此一并表示感谢。由于作者的知识所限,书中难免有不足之处,敬请广大读者海涵,并恳请赐正。