|
序
1. ARM嵌入式系统的发展趋势
由于网络与通信技术的发展,嵌入式系统在经历了近20年的发展历程后,又进入了一个新的历史发展阶段,即从普遍的低端应用进入到一个高、低端并行发展,并且不断提升低端应用技术水平的时代,其标志是近年来32位MCU的发展。
32位MCU的应用不会走8位机百花齐放、百余种型号系列齐上阵的道路,这是因为在8位机的低端应用中,嵌入对象与对象专业领域十分广泛而复杂;而当前32位MCU的高端应用则多集中在网络、通信和多媒体技术领域,32位MCU将会集中在少数厂家发展的少数型号系列上。
在嵌入式系统高端应用的发展中,曾经有众多的厂家参与,很早就有许多8位嵌入式MCU厂家实施了8位、16位和32位机的发展计划。后来,8位和32位机的技术扩展侵占了16位机的发展空间。传统电子系统智能化对8位机的需求使这些厂家将主要精力放在8位机的发展上,形成了32位机发展迟迟不前的局面。当网络、通信和多媒体信息家电业兴起后,出现了嵌入式系统高端应用的市场;而在嵌入式系统的高端应用中,进行多年技术准备的ARM公司适时地推出了32位ARM系列嵌入式微处理器,以其明显的性能优势和知识产权平台扇出的运行方式,迅速形成32位机高端应用的主流地位,以至于使不少传统嵌入式系统厂家放弃了自己的32位发展计划,转而使用ARM内核来发展自己的32位MCU。甚至在嵌入式系统发展史上做出卓越贡献的Intel公司以及将单片微型计算机发展到微控制器的PHILIPS公司,在发展32位嵌入式系统时都不另起炉灶,而是转而使用ARM公司的嵌入式系统内核来发展自己的32位MCU。
网络、通信、多媒体和信息家电时代的到来,无疑为32位嵌入式系统高端应用提供了空前巨大的发展空间;同时,也为力不从心的8位机向高端发展起到了接力作用。一般来说,嵌入式系统的高、低端应用模糊地界定为: 高端用于具有海量数据处理的网络、通信和多媒体领域,低端则用于对象系统的控制领域。然而,控制系统的网络化、智能化的发展趋势要求在这些8位机的应用中提升海量数据处理能力。当8位机无法满足这些提升要求时,便会转而求助32位机的解决办法。因此,32位机的市场需求发展由两方面所致: 一方面是高端新兴领域(网络、通信、多媒体和信息家电)的拓展;另一方面是低端控制领域应用在数据处理能力的提升要求。
后PC时代的到来以及32位嵌入式系统的高端应用吸引了大量计算机专业人士的介入,加之嵌入式系统软/硬件技术的发展,导致了嵌入式系统应用模式的巨大变化,即使嵌入式系统应用进入到一个基于软/硬件平台、集成开发环境的应用系统开发时代,并带动了SoC技术的发展。
在众多嵌入式系统厂家参与下,基于ARM系列处理器的应用技术会在众多领域取得突破性进展。Intel公司将ARM系列向更高端的嵌入式系统发展;而PHILIPS公司则在向高端嵌入式系统发展的同时,向低端的8位和16位机的高端应用延伸。Intel公司和PHILIPS公司的发展都体现了各自的特点,并充分发挥了各自的优势。因此,在32位嵌入式系统的应用中,ARM系列会形成ARM公司领军,众多厂家参与,计算机专业、电子技术专业以及对象专业人士共同推动的局面,形成未来32位嵌入式系统应用的主流趋势。这种集中分工的技术发展模式有利于嵌入式系统的快速发展。
面对这种形势,近年来,嵌入式系统业界人士掀起了广泛学习嵌入式系统理论及应用开发的热潮,相关的出版物和培训班如雨后春笋不断出现。无论是原有的嵌入式系统业界人士,还是刚进入嵌入式系统的人们,都渴望了解嵌入式系统理论,掌握嵌入式系统的应用技术。高等院校面对这种形式,也迫切需要开设相应的课程。因此,为了满足高等院校嵌入式系统教学以及社会上各种培训的需要,作者结合几年来在嵌入式系统领域教学与开发的经验和特点,编写了本套《ARM嵌入式系统系列教程》。
2. 本套教程的组成
本套教程由理论教材、实验教材和学习指导3部分(共5册)组成,且配套的所有教学实验平台都是基于PHILIPS公司的LPC2000系列ARM微控制器(基于ARM7TDMIS核心)而设计。
理论教材
《ARM嵌入式系统基础教程》
——含开放式多媒体教学课件,可自行添加或删减内容
实验教材
《ARM嵌入式系统实验教程(一)》
——含开放式多媒体实验教学课件,可自行添加或删减内容
——配套EasyARM2200教学实验平台
《ARM嵌入式系统实验教程(二)》
——含开放式多媒体实验教学课件,可自行添加或删减内容
——配套SmartARM2200教学实验平台
《ARM嵌入式系统实验教程(三)》
——含开放式多媒体实验教学课件,可自行添加或删减内容
——配套MagicARM2200教学实验平台
辅导资料
《ARM嵌入式系统学习指导》
上述5本图书构成了一个完整的,可根据不同教学特点及时进行裁剪、配套的教材体系。
除此之外,还将我们近年来在ARM嵌入式系统领域的应用开发成果编辑成两册在北京航空航天大学出版社出版。选用本套教程作为教学或培训教材的师生以及工程技术开发人员,可选用下面两本图书作为参考资料。这两本参考资料可对ARM嵌入式系统的应用开发人员提供进一步的帮助。
参考资料
《ARM嵌入式系统软件开发实例 (一) 》
《ARM嵌入式系统软件开发实例 (二) 》
《ARM嵌入式μCLinux系统构建与驱动开发范例》
《嵌入式MiniGUI初步与应用开发范例》
3. 本套教程的特点
本套教程可面对不同教学或培训需要,并配备有相对应的教学实验平台,配有开放式多媒体教学课件,具有完整性、实践性强及便于教学等特点。
完整性——体现在理论教材、实验教材、辅导资料及参考资料的完全配套性;
实践性强——体现在所提供的教学实验系统是成熟且易于上手的软/硬件应用平台;
便于教学——体现在针对不同教学要求,能方便地选择教学与实验教材的最佳组合,无论是理论教材,还是实验教材都配有多媒体教学课件。
4. 本套教程各册内容简介
《ARM嵌入式系统基础教程》本套教程中的理论课教材。以PHILIPS公司LPC2000系列ARM微控制器为例,深入浅出地介绍嵌入式系统开发的各个方面。共分3部分: ① 理论部分: 主要介绍嵌入式系统相关的概念及开发方法; ② 基础部分: 主要介绍ARM7体系结构、指令系统及LPC2000系列ARM微控制器的结构原理; ③ 应用部分: 主要介绍如何设计嵌入式系统,包括硬件的设计、μC/OSII的移植、建立软件开发平台的方法及嵌入式系统开发平台的应用。
《ARM嵌入式系统实验教程(一)》本套教程中的实验课教材之一。以具有丰富硬件资源的EasyARM2200教学实验平台为基础,以ADS 1.2集成开发环境、μC/OSII操作系统以及各种中间件为软件平台,搭建经济实用的ARM嵌入式系统教学实验体系。共分5章,共有47个实验例子。第1章全面介绍EasyARM2200教学实验平台的设计原理以及各种跳线、接口的使用说明。第2章重点介绍ADS 1.2集成开发环境的使用,包括建立工程、添加源文件、编译链接设置以及AXD调试操作等,并介绍LPC2200专用工程模板及EasyJTAG仿真器的安装与使用。第3章为基础实验,包含32个实验。第4章为基于μC/OSII操作系统的实验,包含6个实验。第5章为综合实验,包含9个实验。
《ARM嵌入式系统实验教程(二)》本套教程中的实验课教材之二。以具有丰富硬件资源的SmartARM2200教学实验平台为硬件基础,使用2.2英寸TFT LCD显示屏作为人机界面,使用μC/OSII和μCLinux双操作系统、开源的MiniGUI图形用户界面等各种中间件为软件平台,搭建高性价比的ARM嵌入式系统教学实验体系,同时还非常适合构建手持便携式产品教学与开发示范平台,如掌上游戏机、PDA、POS机、手持式电度表抄表器、智能卡系列产品手持式数据录入器、酒店点菜器以及手持式测量仪器仪表等。
《ARM嵌入式系统实验教程(三)》本套教程中的实验课教材之三。以具有丰富硬件资源的MagicARM2200为教学实验平台,使用5.2英寸STN LCD触摸显示屏作为人机界面,使用μC/OSII和μCLinux双操作系统、开源的MiniGUI图形用户界面等各种中间件为软件平台,搭建ARM嵌入式系统教学实验体系,完全覆盖了EasyARM2200 与SmartARM2200教学实验平台几乎所有的软/硬件功能模块。
《ARM嵌入式系统学习指导》为读者提供学习指导和课外补充,答疑解惑。对本套教程中的理论教材和3本实验教材中的习题进行解答,并对理论教材中的重点和难点进行剖析,还补充了许多相关资料作为课外补充读物。两本参考资料的内容简介如下:
《ARM嵌入式系统软件开发实例(一)》详细介绍当前几大热点ARM嵌入式系统软件模块的原理及其在ARM7上的实现。分为5章,每一章介绍一种模块。第1章介绍FAT文件系统的基础知识,以及兼容FAT12、FAT16和FAT32的文件系统模块ZLG/FS的源码分析。第2章介绍USB从模块驱动程序的设计思想及实现过程。第3章详细介绍CF卡和IDE硬盘相应的软件模块ZLG/CF的设计思想及实现过程。第4章详细介绍TCP/IP及相应的软件模块ZLG/IP的设计思想及实现过程。第5章介绍GUI的基础知识及GUI模块ZLG/GUI的设计思想及实现过程。
《ARM嵌入式系统软件开发实例(二)》详细介绍当前几大热点ARM嵌入式系统软件模块的原理及其在ARM7上的实现。如USB1.1(ISP1181B)/HOST(ISP1160/1161)、1英寸微型1/1.5/2 GB硬盘、SD卡等软件的开发思想与源码分析。
5. 本套教程的读者对象以及如何配套选用
本套教程适用于高等院校测控技术与仪器设计、智能化控制、电子工程、机电一体化、自动化以及计算机等专业开设嵌入式系统课程的教材,也可用作各种嵌入式系统应用开发工程技术人员的培训教材。
各高等学校及嵌入式系统应用开发工程技术人员,可以根据自己的需求及实验室的状况配套选用本套教程。作者给出了3种基本方案供参考,学校在建立实验室时也可以组合使用。
(1) 经济型方案
 教材: 《ARM嵌入式系统基础教程》、《ARM嵌入式系统实验教程(一)》。
 实验器材: 计算机、EasyJTAG仿真器、EasyARM2200教学实验平台(包含主芯片为PDIUSBD12的USB1.1 PACK)、CF卡(选件)、硬盘(选件)、SMG240128A液晶模块(选件)、WH153PA12微型热敏打印机(选件)以及其他电子实验常用设备(如万用表、面包板等)。
 参考资料: 《ARM嵌入式系统学习指导》、《ARM嵌入式系统软件开发实例(一)》。
 软件: ADS1.2、μC/OSII V2.52和ZLGGUI。
(2) 高性价比方案
 教材: 《ARM嵌入式系统基础教程》、《ARM嵌入式系统实验教程(二)》。
 实验器材: 计算机、EasyJTAG仿真器、SmartARM2200教学实验平台(包含主芯片为PDIUSBD12的USB1.1 PACK、2.2英寸TFT LCD高清晰度彩色显示屏)、ISP1181B的USB1.1 PACK(选件)、ISP1160或ISP1161的USB HOST PACK(选件)、CF卡(选件)、SD卡(选件)、普通硬盘或1英寸微型硬盘(选件)、WH153PA12微型热敏打印机(选件)以及其他电子实验常用设备(如万用表、面包板等)。
 参考资料: 《ARM嵌入式系统学习指导》、《ARM嵌入式系统软件开发实例(一)》和《ARM嵌入式系统软件开发实例(二)》。
 软件: ADS1.2、GCC、μC/OSII V2.52、μClinux 2.4和MiniGUI。
(3) 全功能型方案
 教材: 《ARM嵌入式系统基础教程》、《ARM嵌入式系统实验教程(三)》。
 实验器材: 计算机、EasyJTAG仿真器、MagicARM2200教学实验平台(包含主芯片为PDIUSBD12 的USB1.1 PACK、ISP1160 或ISP1161的USB HOST PACK、双路CANbus接口、5.2英寸STN LCD触摸显示屏)、ISP1181B的USB1.1 PACK(选件)、CF卡(选件)、SD卡(选件)、GPS/GPRS模块(选件)、MODEM(选件)、普通硬盘或1英寸微型硬盘(选件)、WH153PA12微型热敏打印机(选件)以及其他电子实验常用设备(如万用表、面包板等)。
 参考资料: 《ARM嵌入式系统学习指导》、《ARM嵌入式系统软件开发实例(一)》、《ARM嵌入式系统软件开发实例(二)》。
 软件: ADS1.2、GCC、μC/OSII V2.52、μClinux 2.4和MiniGUI。
6. 本套教程的网络辅助
作者在其网站(www.zlgmcu.com)上将开辟“跟我学ARM”和“应用设计”等辅导专栏,帮助读者深入浅出地学习ARM嵌入式系统;并结合大学生的课程设计与毕业设计做好ARM嵌入式系统的软/硬件开发,有针对性地不断更新各种资料。读者也可在该栏目上发表应用文章,交流学习心得。我们相信,本套《ARM嵌入式系统系列教程》的出版一定会对国内32位嵌入式系统的教学与实践起到推动作用;通过这些努力,一定会使我国嵌入式系统应用提升到一个更高的水平,并推动32位嵌入式系统的普及。
我们也真诚地欢迎广大读者给我们来信(zlg3@zlgmcu.com),将您对本套图书的意见及修改建议及时提供给我们,以便在本套图书再版时修订。我们真诚希望能够得到广大读者持续不断的支持。
作者
2004年10月
前 言
本书为《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月
|