前言 嵌入式系统是软件和硬件的综合体,有人将其称为后PC时代和后网络时代的新秀。特别是近几年来,嵌入式产品强势占领了消费类电子产品市场,并开始在汽车电子、工业控制、航空航天、国防工业等领域得到全面应用。因此可以断言,面向嵌入式的信息时代已经到来。 本书作者在学生时代多次参加机器人大赛,工作后指导智能车控制大赛。最初设计机器人控制系统采用8位单片机,随着机器人控制功能的增强,原有的8位芯片很难满足功能要求,另外软件设计也越来越烦琐。在2002年,ARM技术产品开始大范围占领市场,基于ARM技术的嵌入式微控制器成为嵌入式开发的硬件支撑。世界上知名的半导体公司如Intel、Samsung、Motorola、Philips和Atmel相继推出了以ARM为核心的主流芯片,嵌入式开发成为信息领域研究与应用的热点。为了适应更加复杂的控制需求,作者当时选用ARM微控制器作为主控制单元,设计嵌入式机器人控制系统,在有限的几本书可供参考的情况下,面向应用裁剪硬件,移植嵌入式操作系统,从此与嵌入式结下不解之缘。近年来,全国各大高校纷纷建立嵌入式方向,经过几年来的教学实践,已经成功地培养出一批具备嵌入式设计与开发技能的毕业生,这些毕业生走向嵌入式开发的各个领域。本书正是在教学和实践的基础上进行编写的。 本书的编写力求将复杂问题简单化,为了说明一个问题,可能不惜篇幅,图表并用,并设有实例解析,使每一个嵌入式开发的初学者都能快速上手,为嵌入式系统开发打下坚实的基础。 本书的内容安排  第1章介绍嵌入式系统的发展历史,通过典型产品实例使读者体会嵌入式技术的研究方向和发展趋势。  第2章介绍ARM处理器的内核调试结构,重点介绍ARM7TDMIS、ARM9TDMI两种结构,并分析了ARM7和 ARM9的3级流水线运行机制和5级流水线运行机制。  第3~5章详细解析ARM指令寻址方式、ARM指令系统详细解析和Thumb指令系统。  第6、7章介绍ARM汇编语言伪指令、ARM汇编语言程序设计中所用的伪操作、汇编语言程序设计规范,并用大量的实例说明汇编语言程序设计方法。  第8章介绍嵌入式C语言的编程规范、嵌入式开发中常用的位运算与控制位域以及在嵌入式C程序设计中要注意的问题,也介绍了ARM汇编语言与嵌入式C语言进行相互调用的标准(AAPCS),并用大量的实例说明相互调用应注意的问题。  第9、10章介绍Samsung公司两款流行的ARM处理器芯片: S3C44B0是基于ARM7TDMI架构的,S3C2410/S3C2440是基于ARM920T架构的; 详细介绍基于这两款微控制器的存储系统、通用I/O、中断控制器、UART、I2C和LCD接口原理与应用开发。 本书配套资源丰富,包括教学大纲、教学课件、电子教案、习题答案和教学进度表,扫描封底的“课件下载”二维码,在公众号“书圈”下载; 本书还提供程序源码,扫描目录上方的二维码下载。 致谢 本书的编写参考和引用了国内外同行、专家、学者所撰写的大量文献以及网络技术论坛的精华资料,在此向相关作者表示衷心的感谢! 嵌入式系统发展非常迅速,新的技术成果不断涌现。书中难免存在不妥之处,恳请读者和同行批评指正。 邱铁 于天津大学北洋园 2020年8月