本书是《ARM嵌入式系统系列教程》中的理论课教材。\r\n 以PHILIPS公司LPC2000系列ARM微控制器为例,深入浅出地介绍嵌入式系统开发的各个方面。全书共分为3部分:第1章和第2章为理论部分,主要介绍嵌入式系统的概念及开发方法。第3~5章为基础部分,主要介绍ARM7体系结构、指令系统及LPC2000系列ARM微控制器的结构原理。第6~8章为应用部分,主要以LPC2000系列微控制器为例介绍如何设计嵌入式系统,包括硬件的设计、μC/OSII的移植以及建立软件开发平台的方法。本书可以作为高等院校电子、自动化、机电一体化计算机等相关专业嵌入式系统课程的教材,也可作为从事嵌入式系统应用开发工程师的参考资料。\r\n 本书配套多媒体教学课件。\r\n
第1章 嵌入式系统概述\r\n 1.1 嵌入式系统\r\n 1.1.1 现实中的嵌入式系统\r\n 1.1.2 嵌入式系统的概念\r\n 1.1.3 嵌入式系统的未来\r\n 1.2 嵌入式处理器\r\n 1.2.1 嵌入式处理器简介\r\n 1.2.2 嵌入式系统的分类\r\n 1.3 嵌入式操作系统\r\n 1.3.1 嵌入式操作系统简介\r\n 1.3.2 嵌入式操作系统基本概念\r\n 1.3.3 使用实时操作系统的必要性\r\n 1.3.4 实时操作系统的优缺点\r\n 1.3.5 常见的嵌入式操作系统\r\n 思考与练习\r\n第2章 嵌入式系统工程设计\r\n 2.1 嵌入式系统项目开发生命周期\r\n 2.1.1 识别需求\r\n 2.1.2 提出方案\r\n 2.1.3 执行项目\r\n 2.1.4 结束项目\r\n 2.2 嵌入式系统工程设计方法简介\r\n 2.2.1 由上而下与由下而上\r\n 2.2.2 UML系统建模\r\n 2.2.3 面向对象OO的思想 \r\n 思考与练习\r\n第3章 ARM7体系结构\r\n 3.1 ARM\r\n 3.1.1 ARM的体系结构\r\n 3.1.2 ARM处理器核\r\n 3.2 ARM7TDMI\r\n 3.2.1 三级流水线\r\n 3.2.2 存储器访问\r\n 3.2.3 存储器接口\r\n 3.3 ARM7TDMI的模块、内核和功能框图\r\n 3.4 体系结构直接支持的数据类型\r\n 3.5 处理器状态\r\n 3.6 处理器模式\r\n 3.7 内部寄存器\r\n 3.7.1 ARM状态寄存器集\r\n 3.7.2 Thumb状态寄存器集\r\n 3.8 程序状态寄存器\r\n 3.8.1 条件代码标志\r\n 3.8.2 控制位\r\n 3.8.3 保留位\r\n 3.9 异常\r\n 3.9.1 异常入口/出口汇总\r\n 3.9.2 进入异常\r\n 3.9.3 退出异常\r\n 3.9.4 快速中断请求\r\n 3.9.5 中断请求\r\n 3.9.6 中止\r\n 3.9.7 软件中断指令\r\n 3.9.8 未定义的指令\r\n 3.9.9 异常向量\r\n 3.9.10 异常优先级\r\n 3.10 中断延迟\r\n 3.10.1 最大中断延迟\r\n 3.10.2 最小中断延迟\r\n第4章 ARM7TDMI(S)指令系统\r\n第5章 LPC2000系列ARM硬件结构\r\n第6章 接口技术与硬件设计\r\n第7章 移植μC/OSII到ARM7\r\n第8章 嵌入式系统开发平台\r\n参考文献 \r\n
本书为《ARM嵌入式系统系列教程》中的理论课教材。尽管一般情况下嵌入式系统对CPU处理能力的要求比个人电脑的要低,但随着人们生活水平的提高和技术的进步,嵌入式系统对CPU处理能力的要求也在稳步提高,大量高速、与MCS51体系结构兼容的微控制器的出现就证明了这一点。但8位微控制器受限于体系结构,处理能力的提高始终有限;而16位系统在性能上与8位机相比始终没有太大优势,成本上与32位系统相比也没有什么优势。因此,在可预见的未来,32位系统必然在嵌入式微控制器中占据重要位置。基于ARM体系结构的32位系统占领了32位嵌入式系统的大部分份额。但长期以来,基于ARM体系结构的32位系统仅在嵌入式系统的高端(如通信领域、PDA)等场合使用,要么以专用芯片的面貌出现,要么以微处理器的面貌出现,并没有出现性价比高的通用微控制器。PHILIPS公司发现了这一空档,推出了性价比很高LPC2000系列微控制器,让更多的嵌入式系统具有32位处理能力,这也预示着32位系统即将成为嵌入式系统的主流。基于ARM体系结构的芯片在中国推广已有数年,关于ARM的图书也已出版不少。关于ARM的图书主要有以下几类:
1.关于ARM内核的图书,主要读者是芯片设计者,内容主要是介绍芯片设计。
2.芯片应用类图书,主要读者为应用工程师。3. 开发板类图书,主要介绍相应的ARM开发板,给应用开发者一些参考。以上3类图书的侧重点都不是针对ARM应用开发教学的,用于大学本科和研究生教学不太适合。为了满足高等院校教学的要求,我们编写了本套《ARM嵌入式系统系列教程》。本册书为本套教程中的理论课教材。
本教材各章节内容安排如下:
第1章——嵌入式系统概述。主要简单介绍嵌入式系统,包括对嵌入式系统的概念、嵌入式处理器和嵌入式操作系统的简要介绍。
第2章——嵌入式系统工程设计。介绍嵌入式系统项目开发的生命周期,并针对开发团队介绍各个阶段需要完成的任务。本章还介绍一些嵌入式系统开发的方法。
第3章——ARM7体系结构。主要从应用角度(而不是从芯片设计者的角度)介绍ARM7的体系结构。包含许多使用ARM7必须了解的知识。如果读者想用好ARM7,必须读透本章。
第4章——ARM7TDMI(S)指令系统。 ARM7TDMI和ARM7TDMIS是基于ARM体系结构版本V4T的。本章仅介绍ARM体系结构版本V4T支持的指令,ARM体系结构版本V5及以上版本扩展的指令没有介绍。
第5章——LPC2000系列ARM硬件结构。主要介绍PHILIPS公司LPC2000系列基于ARM7TDMIS的32位微控制器的硬件结构和功能部件。在介绍功能部件原理的同时,通过简单的程序片段加深读者对相应功能部件的理解。特别是在介绍特殊功能部件时,一并介绍启动代码的相关代码,使读者可以了解启动代码的来龙去脉。
第6章——接口技术与硬件设计。主要介绍如何围绕微控制器设计硬件电路以及微控制器的最小系统电路设计方法和多种外设的接口电路设计方法。本章介绍的是其他教科书中很少讲述且容易忽略的细节问题,要设计可靠的硬件必须了解本章内容。
第7章——μC/OSII到ARM7的移植。详细介绍如何将嵌入式实时操作系统μC/OSII移植到ARM7体系结构上,以及如何将移植代码应用到具体的基于ARM7核的微控制器上。与一般公开的移植不同,本移植的任务不必在特权模式下运行(在用户和/或系统模式下运行),任务可以任意使用ARM指令和/或Thumb指令。
第8章——嵌入式系统开发平台。 介绍嵌入式开发平台的概念以及使用嵌入式开发平台的必要性;并介绍建立嵌入式系统开发平台(主要为软件开发平台)的方法,以及一些组成软件开发平台的软件模块的使用方法。
参与本书编写和工作的主要人员有陈明计、黄邵斌、戚军、叶皓贲、周立山、郑明远、刘英斌、岳宪臣和朱旻等,全书由周立功负责规划、内容安排、定稿与修改。由于作者水平有限,书中难免有疏忽、不恰当甚至错误的地方,恳请各位老师及同行指正。感谢北京航空航天大学出版社的大力支持,才能使本书得以快速出版;感谢PHILIPS美国半导体公司的CK Phua先生几年来一如既往的支持和关心。
周立功
2004年11月