《arm 嵌入式系统基础教程 - 广州周立功单片机发展有限公.pdf》由会员分享,可在线阅读,更多相关《arm 嵌入式系统基础教程 - 广州周立功单片机发展有限公.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-1-ARM 嵌入式系统基础教程 周立功 等编著 北京航空航天大学出版社 2005 年 1 月 定价:32.00 元 内内 容容 简简 介介 本书是ARM 嵌入式系统系列教程中的理论课教材。以 PHILIPS 公司 LPC2000 系列 ARM 微控制器为例,深入浅出地介绍嵌入式系统开发的各个方面。全书共分为 3 部分:第 1 章和第 2 章为理论部分,主要介绍嵌入式系统的概念及开发方法。第 35 章为基础部分,主要介绍 ARM7 体系结构、指令系统及LPC2000 系列
2、ARM 微控制器的结构原理。第 68 章为应用部分,主要以 LPC2000 系列微控制器为例介绍如何设计嵌入式系统,包括硬件的设计、C/OSII 的移植以及建立软件开发平台的方法。本书可以作为高等院校电子、自动化、机电一体化计算机等相关专业嵌入式系统课程的教材,也可作为从事嵌入式系统应用开发工程师的参考资料。本书配套多媒体教学课件。序序 1.ARM 嵌入式系统的发展趋势嵌入式系统的发展趋势 由于网络与通信技术的发展,嵌入式系统在经历了近 20 年的发展历程后,又进入了一个新的历史发展阶段,即从普遍的低端应用进入到一个高、低端并行发展,并且不断提升低端应用技术水平的时代,其标志是近年来 32 位
3、 MCU 的发展。32 位 MCU 的应用不会走 8 位机百花齐放、百余种型号系列齐上阵的道路,这是因为在 8 位机的低端应用中,嵌入对象与对象专业领域十分广泛而复杂;而当前 32 位 MCU 的高端应用则多集中在网络、通信和多媒体技术领域,32 位 MCU 将会集中在少数厂家发展的少数型号系列上。在嵌入式系统高端应用的发展中,曾经有众多的厂家参与,很早就有许多 8 位嵌入式 MCU 厂家实施淘花/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-2-了 8 位、16 位和 32 位机的发展计划。后来,8 位和
4、32 位机的技术扩展侵占了 16 位机的发展空间。传统电子系统智能化对 8 位机的需求使这些厂家将主要精力放在 8 位机的发展上,形成了 32 位机发展迟迟不前的局面。当网络、通信和多媒体信息家电业兴起后,出现了嵌入式系统高端应用的市场;而在嵌入式系统的高端应用中,进行多年技术准备的 ARM 公司适时地推出了 32 位 ARM 系列嵌入式微处理器,以其明显的性能优势和知识产权平台扇出的运行方式,迅速形成 32 位机高端应用的主流地位,以至于使不少传统嵌入式系统厂家放弃了自己的 32 位发展计划,转而使用 ARM 内核来发展自己的 32 位 MCU。甚至在嵌入式系统发展史上做出卓越贡献的 Int
5、el 公司以及将单片微型计算机发展到微控制器的 PHILIPS 公司,在发展 32 位嵌入式系统时都不另起炉灶,而是转而使用 ARM 公司的嵌入式系统内核来发展自己的32 位 MCU。网络、通信、多媒体和信息家电时代的到来,无疑为 32 位嵌入式系统高端应用提供了空前巨大的发展空间;同时,也为力不从心的 8 位机向高端发展起到了接力作用。一般来说,嵌入式系统的高、低端应用模糊地界定为:高端用于具有海量数据处理的网络、通信和多媒体领域,低端则用于对象系统的控制领域。然而,控制系统的网络化、智能化的发展趋势要求在这些 8 位机的应用中提升海量数据处理能力。当8 位机无法满足这些提升要求时,便会转而
6、求助 32 位机的解决办法。因此,32 位机的市场需求发展由两方面所致:一方面是高端新兴领域(网络、通信、多媒体和信息家电)的拓展;另一方面是低端控制领域应用在数据处理能力的提升要求。后 PC 时代的到来以及 32 位嵌入式系统的高端应用吸引了大量计算机专业人士的介入,加之嵌入式系统软/硬件技术的发展,导致了嵌入式系统应用模式的巨大变化,即使嵌入式系统应用进入到一个基于软/硬件平台、集成开发环境的应用系统开发时代,并带动了 SoC 技术的发展。在众多嵌入式系统厂家参与下,基于 ARM 系列处理器的应用技术会在众多领域取得突破性进展。Intel公司将 ARM 系列向更高端的嵌入式系统发展;而 P
7、HILIPS 公司则在向高端嵌入式系统发展的同时,向低端的 8 位和 16 位机的高端应用延伸。Intel 公司和 PHILIPS 公司的发展都体现了各自的特点,并充分发挥了各自的优势。因此,在 32 位嵌入式系统的应用中,ARM 系列会形成 ARM 公司领军,众多厂家参与,计算机专业、电子技术专业以及对象专业人士共同推动的局面,形成未来 32 位嵌入式系统应用的主流趋势。这种集中分工的技术发展模式有利于嵌入式系统的快速发展。面对这种形势,近年来,嵌入式系统业界人士掀起了广泛学习嵌入式系统理论及应用开发的热潮,相关的出版物和培训班如雨后春笋不断出现。无论是原有的嵌入式系统业界人士,还是刚进入嵌
8、入式系统的人们,都渴望了解嵌入式系统理论,掌握嵌入式系统的应用技术。高等院校面对这种形式,也迫切需要开设相应的课程。因此,为了满足高等院校嵌入式系统教学以及社会上各种培训的需要,作者结合几年来在嵌入式系统领域教学与开发的经验和特点,编写了本套ARM 嵌入式系统系列教程。2.本套教程的组成本套教程的组成 本套教程由理论教材、实验教材和学习指导 3 部分(共 5 册)组成,且配套的所有教学实验平台都是基于 PHILIPS 公司的 LPC2000 系列 ARM 微控制器(基于 ARM7TDMI S 核心)而设计。理论教材理论教材 ARM 嵌入式系统基础教程 含开放式多媒体教学课件,可自行添加或删减内
9、容 实验教材实验教材 ARM 嵌入式系统实验教程(一)含开放式多媒体实验教学课件,可自行添加或删减内容 配套 EasyARM2200 教学实验平台 ARM 嵌入式系统实验教程(二)含开放式多媒体实验教学课件,可自行添加或删减内容 淘花/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-3-配套 SmartARM2200 教学实验平台 ARM 嵌入式系统实验教程(三)含开放式多媒体实验教学课件,可自行添加或删减内容 配套 MagicARM2200 教学实验平台 辅导资料辅导资料 ARM 嵌入式系统学习指导 上述 5
10、 本图书构成了一个完整的,可根据不同教学特点及时进行裁剪、配套的教材体系。除此之外,还将我们近年来在 ARM 嵌入式系统领域的应用开发成果编辑成两册在北京航空航天大学出版社出版。选用本套教程作为教学或培训教材的师生以及工程技术开发人员,可选用下面两本图书作为参考资料。这两本参考资料可对 ARM 嵌入式系统的应用开发人员提供进一步的帮助。参考资料参考资料 ARM 嵌入式系统软件开发实例(一)ARM 嵌入式系统软件开发实例(二)3.本套教程的特点本套教程的特点 本套教程可面对不同教学或培训需要,并配备有相对应的教学实验平台,配有开放式多媒体教学课件,具有完整性、实践性强及便于教学等特点。完整性体现
11、在理论教材、实验教材、辅导资料及参考资料的完全配套性;实践性强体现在所提供的教学实验系统是成熟且易于上手的软/硬件应用平台;便于教学体现在针对不同教学要求,能方便地选择教学与实验教材的最佳组合,无论是理论教材,还是实验教材都配有多媒体教学课件。4.本套教程各册内容简介本套教程各册内容简介 ARM 嵌入式系统基础教程 本套教程中的理论课教材。以 PHILIPS 公司 LPC2000 系列 ARM 微控制器为例,深入浅出地介绍嵌入式系统开发的各个方面。共分 3 部分:理论部分:主要介绍嵌入式系统相关的概念及开发方法;基础部分:主要介绍 ARM7 体系结构、指令系统及 LPC2000 系列 ARM微
12、控制器的结构原理;应用部分:主要介绍如何设计嵌入式系统,包括硬件的设计、C/OS-II 的移植、建立软件开发平台的方法及嵌入式系统开发平台的应用。ARM 嵌入式系统实验教程(一)本套教程中的实验课教材之一。以具有丰富硬件资源的EasyARM2200 教学实验平台为基础,以 ADS 1.2 集成开发环境、C/OS-II 操作系统以及各种中间件为软件平台,搭建经济实用的 ARM 嵌入式系统教学实验体系。共分 5 章,共有 47 个实验例子。第 1 章全面介绍 EasyARM2200 教学实验平台的设计原理以及各种跳线、接口的使用说明。第 2 章重点介绍 ADS 1.2 集成开发环境的使用,包括建立
13、工程、添加源文件、编译链接设置以及 AXD 调试操作等,并介绍LPC2200 专用工程模板及 EasyJTAG 仿真器的安装与使用。第 3 章为基础实验,包含 32 个实验。第 4章为基于C/OS-II 操作系统的实验,包含 6 个实验。第 5 章为综合实验,包含 9 个实验。ARM 嵌入式系统实验教程(二)本套教程中的实验课教材之二。以具有丰富硬件资源的SmartARM2200 教学实验平台为硬件基础,使用 2.2 英寸 TFT LCD 显示屏作为人机界面,使用C/OS II 和CLinux 双操作系统、开源的 MiniGUI 图形用户界面等各种中间件为软件平台,搭建高性价比的ARM 嵌入式
14、系统教学实验体系,同时还非常适合构建手持便携式产品教学与开发示范平台,如掌上游戏机、PDA、POS 机、手持式电度表抄表器、智能卡系列产品手持式数据录入器、酒店点菜器以及手持式测量仪器仪表等。ARM 嵌入式系统实验教程(三)本套教程中的实验课教材之三。以具有丰富硬件资源的淘花/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-4-MagicARM2200 为教学实验平台,使用 5.2 英寸 STN LCD 触摸显示屏作为人机界面,使用C/OS-II和CLinux 双操作系统、开源的 MiniGUI 图形用户界面等
15、各种中间件为软件平台,搭建 ARM 嵌入式系统教学实验体系,完全覆盖了 EasyARM2200 与 SmartARM2200 教学实验平台几乎所有的软/硬件功能模块。ARM 嵌入式系统学习指导为读者提供学习指导和课外补充,答疑解惑。对本套教程中的理论教材和 3 本实验教材中的习题进行解答,并对理论教材中的重点和难点进行剖析,还补充了许多相关资料作为课外补充读物。两本参考资料的内容简介如下:ARM 嵌入式系统软件开发实例(一)详细介绍当前几大热点 ARM 嵌入式系统软件模块的原理及其在 ARM7 上的实现。分为 5 章,每一章介绍一种模块。第 1 章介绍 FAT 文件系统的基础知识,以及兼容FA
16、T12、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/116
17、1)、1 英寸微型 1/1.5/2 GB 硬盘、SD 卡等软件的开发思想与源码分析。5.本套教程的读者对象以及如何配套选用本套教程的读者对象以及如何配套选用 本套教程适用于高等院校测控技术与仪器设计、智能化控制、电子工程、机电一体化、自动化以及计算机等专业开设嵌入式系统课程的教材,也可用作各种嵌入式系统应用开发工程技术人员的培训教材。各高等学校及嵌入式系统应用开发工程技术人员,可以根据自己的需求及实验室的状况配套选用本套教程。作者给出了 3 种基本方案供参考,学校在建立实验室时也可以组合使用。(1)经济型方案经济型方案 教材教材:ARM 嵌入式系统基础教程、ARM 嵌入式系统实验教程(一)。实
18、验器材实验器材:计算机、EasyJTAG 仿真器、EasyARM2200 教学实验平台(包含主芯片为 PDIUSBD12的 USB1.1 PACK)、CF 卡(选件)、硬盘(选件)、SMG240128A 液晶模块(选件)、WH153PA12 微型热敏打印机(选件)以及其他电子实验常用设备(如万用表、面包板等)。参考资料参考资料:ARM 嵌入式系统学习指导、ARM 嵌入式系统软件开发实例(一)。软件软件:ADS1.2、C/OS II V2.52 和 ZLGGUI。(2)高性价比方案高性价比方案 教材教材:ARM 嵌入式系统基础教程、ARM 嵌入式系统实验教程(二)。实验器材实验器材:计算机、Ea
19、syJTAG 仿真器、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 嵌入式系统软件开发实例(二)。软件软件:
20、ADS1.2、GCC、C/OS II V2.52、Clinux 2.4 和 MiniGUI。(3)全功能型方案全功能型方案 教材教材:ARM 嵌入式系统基础教程、ARM 嵌入式系统实验教程(三)。实验器材实验器材:计算机、EasyJTAG 仿真器、MagicARM2200 教学实验平台(包含主芯片为 PDIUSBD12 的 USB1.1 PACK、ISP1160 或 ISP1161 的 USB HOST PACK、双路 CAN bus 接口、5.2 英寸 STN LCD 触摸显示屏)、ISP1181B 的 USB1.1 PACK(选件)、CF 卡(选件)、SD 卡(选件)、GPS/GPRS淘花
21、/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-5-模块(选件)、MODEM(选件)、普通硬盘或 1 英寸微型硬盘(选件)、WH153PA12 微型热敏打印机(选件)以及其他电子实验常用设备(如万用表、面包板等)。参考资料参考资料:ARM 嵌入式系统学习指导、ARM 嵌入式系统软件开发实例(一)、ARM 嵌入式系统软件开发实例(二)。软件软件:ADS1.2、GCC、C/OS II V2.52、Clinux 2.4 和 MiniGUI。6.本套教程的网络辅助本套教程的网络辅助 作者在其网站()上将开辟“跟我学
22、ARM”和“应用设计”等辅导专栏,帮助读者深入浅出地学习 ARM 嵌入式系统;并结合大学生的课程设计与毕业设计做好 ARM 嵌入式系统的软/硬件开发,有针对性地不断更新各种资料。读者也可在该栏目上发表应用文章,交流学习心得。我们相信,本套ARM 嵌入式系统系列教程的出版一定会对国内 32 位嵌入式系统的教学与实践起到推动作用;通过这些努力,一定会使我国嵌入式系统应用提升到一个更高的水平,并推动 32 位嵌入式系统的普及。我们也真诚地欢迎广大读者给我们来信(),将您对本套图书的意见及修改建议及时提供给我们,以便在本套图书再版时修订。我们真诚希望能够得到广大读者持续不断的支持。作者 2004 年
23、10 月 前前 言言 本书为ARM 嵌入式系统系列教程中的理论课教材。尽管一般情况下嵌入式系统对 CPU 处理能力的要求比个人电脑的要低,但随着人们生活水平的提高和技术的进步,嵌入式系统对 CPU 处理能力的要求也在稳步提高,大量高速、与 MCS51 体系结构兼容的微控制器的出现就证明了这一点。但 8 位微控制器受限于体系结构,处理能力的提高始终有限;而 16 位系统在性能上与 8 位机相比始终没有太大优势,成本上与 32 位系统相比也没有什么优势。因此,在可预见的未来,32 位系统必然在嵌入式微控制器中占据重要位置。基于 ARM 体系结构的 32 位系统占领了 32 位嵌入式系统的大部分份额
24、。但长期以来,基于ARM 体系结构的 32 位系统仅在嵌入式系统的高端(如通信领域、PDA)等场合使用,要么以专用芯片的面貌出现,要么以微处理器的面貌出现,并没有出现性价比高的通用微控制器。PHILIPS 公司发现了这一空档,推出了性价比很高 LPC2000 系列微控制器,让更多的嵌入式系统具有 32 位处理能力,这也预示着 32 位系统即将成为嵌入式系统的主流。基于 ARM 体系结构的芯片在中国推广已有数年,关于 ARM 的图书也已出版不少。关于 ARM 的图书主要有以下几类:1关于 ARM 内核的图书,主要读者是芯片设计者,内容主要是介绍芯片设计。2芯片应用类图书,主要读者为应用工程师。3
25、 开发板类图书,主要介绍相应的 ARM 开发板,给应用开发者一些参考。以上 3 类图书的侧重点都不是针对 ARM 应用开发教学的,用于大学本科和研究生教学不太适合。为了满足高等院校教学的要求,我们编写了本套ARM 嵌入式系统系列教程。本册书为本套教程中的理论课教材。本教材各章节内容安排如下:第 1 章嵌入式系统概述。主要简单介绍嵌入式系统,包括对嵌入式系统的概念、嵌入式处理器和嵌入式操作系统的简要介绍。淘花/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-6-第 2 章嵌入式系统工程设计。介绍嵌入式系统项目开发
26、的生命周期,并针对开发团队介绍各个阶段需要完成的任务。本章还介绍一些嵌入式系统开发的方法。第 3 章ARM7 体系结构。主要从应用角度(而不是从芯片设计者的角度)介绍 ARM7 的体系结构。包含许多使用 ARM7 必须了解的知识。如果读者想用好 ARM7,必须读透本章。第 4 章ARM7TDMI(S)指令系统。ARM7TDMI 和 ARM7TDMI S 是基于 ARM 体系结构版本 V4T 的。本章仅介绍 ARM 体系结构版本 V4T 支持的指令,ARM 体系结构版本 V5 及以上版本扩展的指令没有介绍。第 5 章LPC2000 系列 ARM 硬件结构。主要介绍 PHILIPS 公司 LPC2
27、000 系列基于 ARM7TDMI S 的 32 位微控制器的硬件结构和功能部件。在介绍功能部件原理的同时,通过简单的程序片段加深读者对相应功能部件的理解。特别是在介绍特殊功能部件时,一并介绍启动代码的相关代码,使读者可以了解启动代码的来龙去脉。第 6 章接口技术与硬件设计。主要介绍如何围绕微控制器设计硬件电路以及微控制器的最小系统电路设计方法和多种外设的接口电路设计方法。本章介绍的是其他教科书中很少讲述且容易忽略的细节问题,要设计可靠的硬件必须了解本章内容。第7章C/OSII到ARM7的移植。详细介绍如何将嵌入式实时操作系统C/OSII移植到ARM7体系结构上,以及如何将移植代码应用到具体的
28、基于 ARM7 核的微控制器上。与一般公开的移植不同,本移植的任务不必在特权模式下运行(在用户和/或系统模式下运行),任务可以任意使用 ARM 指令和/或Thumb 指令。第 8 章嵌入式系统开发平台。介绍嵌入式开发平台的概念以及使用嵌入式开发平台的必要性;并介绍建立嵌入式系统开发平台(主要为软件开发平台)的方法,以及一些组成软件开发平台的软件模块的使用方法。参与本书编写和工作的主要人员有陈明计、黄邵斌、戚军、叶皓贲、周立山、郑明远、刘英斌、岳宪臣和朱旻等,全书由周立功负责规划、内容安排、定稿与修改。由于作者水平有限,书中难免有疏忽、不恰当甚至错误的地方,恳请各位老师及同行指正。感谢北京航空航
29、天大学出版社的大力支持,才能使本书得以快速出版;感谢 PHILIPS 美国半导体公司的 CK Phua 先生几年来一如既往的支持和关心。目目 录录 第第 1 章章 嵌入式系统概述嵌入式系统概述 1.1 嵌入式系统 1 1.1.1 现实中的嵌入式系统 1 1.1.2 嵌入式系统的概念 1 1.1.3 嵌入式系统的未来 2 1.2 嵌入式处理器 3 1.2.1 嵌入式处理器简介 3 1.2.2 嵌入式系统的分类 4 1.3 嵌入式操作系统 6 1.3.1 嵌入式操作系统简介 6 1.3.2 嵌入式操作系统基本概念 7 1.3.3 使用实时操作系统的必要性 10 1.3.4 实时操作系统的优缺点 1
30、1 1.3.5 常见的嵌入式操作系统 11 淘花/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-7-思考与练习 16 第第 2 章章 嵌入式系统工程设计嵌入式系统工程设计 2.1 嵌入式系统项目开发生命周期 17 2.1.1 识别需求 18 2.1.2 提出方案 20 2.1.3 执行项目 22 2.1.4 结束项目 26 2.2 嵌入式系统工程设计方法简介 27 2.2.1 由上而下与由下而上 27 2.2.2 UML 系统建模 27 2.2.3 面向对象 OO 的思想 28 思考与练习 29 第第 3 章
31、章 ARM7 体系结构体系结构 3.1 ARM30 3.1.1 ARM 的体系结构 30 3.1.2 ARM 处理器核 32 3.2 ARM7TDMI33 3.2.1 三级流水线 34 3.2.2 存储器访问 34 3.2.3 存储器接口 34 3.3 ARM7TDMI 的模块、内核和功能框图 35 3.4 体系结构直接支持的数据类型 37 3.5 处理器状态 38 3.6 处理器模式 39 3.7 内部寄存器 39 3.7.1 ARM 状态寄存器集 40 3.7.2 Thumb 状态寄存器集 43 3.8 程序状态寄存器 45 3.8.1 条件代码标志 46 3.8.2 控制位 46 3.8
32、.3 保留位 47 3.9 异常 48 3.9.1 异常入口/出口汇总 48 3.9.2 进入异常 49 3.9.3 退出异常 49 3.9.4 快速中断请求 49 3.9.5 中断请求 50 3.9.6 中止 50 3.9.7 软件中断指令 51 3.9.8 未定义的指令 51 3.9.9 异常向量 52 3.9.10 异常优先级 52 淘花/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-8-3.10 中断延迟 52 3.10.1 最大中断延迟 52 3.10.2 最小中断延迟 53 3.11 复位 53
33、3.12 存储器及存储器映射 I/O53 3.12.1 地址空间 54 3.12.2 存储器格式 55 3.12.3 未对齐的存储器访问 56 3.12.4 指令的预取和自修改代码 57 3.12.5 存储器映射的 I/O60 3.13 寻址方式 62 3.14 ARM7 指令集 63 3.14.1 ARM 指令集 63 3.14.2 Thumb 指令集 66 3.15 协处理器接口 68 3.15.1 协处理器接口简介 68 3.15.2 可用的协处理器 69 3.15.3 关于未定义的指令 69 3.16 调试接口 69 3.16.1 典型调试系统 69 3.16.2 调试接口 70 3.
34、16.3 EmbeddedICE RT70 3.16.4 扫描链和 JTAG 接口 71 3.17 ETM 接口 71 思考与练习 71 第第 4 章章 ARM7TDMI(S)指令系统指令系统 4.1 ARM 处理器寻址方式 73 4.2 指令集介绍 76 4.2.1 ARM 指令集 77 4.2.2 Thumb 指令集 105 4.3 本章小结 130 思考与练习 130 第第 5 章章 LPC2000 系列系列 ARM 硬件结构硬件结构 5.1 LPC2000 系列简介 132 5.1.1 特性 132 5.1.2 器件信息 133 5.1.3 结构 133 5.2 引脚配置 135 5.
35、2.1 引脚排列及封装信息 135 5.2.2 LPC2114/2124 的引脚描述 135 5.2.3 LPC2210/2212/2214 的引脚描述 140 5.2.4 引脚功能选择使用示例 147 淘花/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-9-5.3 存储器寻址 147 5.3.1 片内存储器 147 5.3.2 片外存储器 148 5.3.3 存储器映射 148 5.3.4 预取指中止和数据中止异常 150 5.3.5 存储器映射及引导块 151 5.3.6 启动代码相关部分 153 5.4
36、 系统控制模块 155 5.4.1 系统控制模块功能汇总 155 5.4.2 引脚描述 155 5.4.3 寄存器描述 156 5.4.4 晶体振荡器 156 5.4.5 复位 158 5.4.6 外部中断输入 161 5.4.7 外部中断应用示例 165 5.4.8 存储器映射控制 165 5.4.9 PLL(锁相环)168 5.4.10 VPB 分频器 173 5.4.11 功率控制 174 5.4.12 唤醒定时器 177 5.4.13 启动代码相关部分 177 5.5 存储器加速模块 179 5.5.1 结构 180 5.5.2 操作模式 182 5.5.3 配置 183 5.5.4
37、寄存器描述 183 5.5.5 使用注意事项 184 5.5.6 启动代码相关部分 184 5.6 外部存储器控制器 185 5.6.1 特性 185 5.6.2 结构 185 5.6.3 引脚描述 186 5.6.4 寄存器描述 187 5.6.5 外部存储器接口 189 5.6.6 典型总线时序 190 5.6.7 外部存储器选择 190 5.6.8 启动代码相关部分 192 5.7 引脚连接模块 193 5.7.1 寄存器描述 193 5.7.2 引脚功能控制 197 5.7.3 启动代码相关部分 198 5.8 向量中断控制器 199 5.8.1 特性 199 5.8.2 功能 199
38、 淘花/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-10-5.8.3 结构 200 5.8.4 寄存器描述 201 5.8.5 中断源 207 5.8.6 使用注意事项 209 5.8.7 使用示例 210 5.8.8 启动代码相关部分 211 5.9 GPIO213 5.9.1 特性 213 5.9.2 用途 213 5.9.3 引脚描述 213 5.9.4 寄存器描述 213 5.9.5 使用注意事项 216 5.9.6 使用示例 216 5.10 UART0216 5.10.1 特性 216 5.10
39、.2 引脚描述 217 5.10.3 应用 217 5.10.4 结构 217 5.10.5 寄存器描述 219 5.10.6 使用示例 227 5.11 UART1229 5.11.1 特性 229 5.11.2 引脚描述 230 5.11.3 应用 231 5.11.4 结构 231 5.11.5 寄存器描述 232 5.12 I2C 接口 242 5.12.1 特性 242 5.12.2 用途 242 5.12.3 引脚描述 242 5.12.4 I2C 接口描述 243 5.12.5 I2C 操作模式 246 5.12.6 寄存器描述 258 5.13 SPI 接口 262 5.13.
40、1 特性 262 5.13.2 引脚描述 262 5.13.3 接口描述 263 5.13.4 结构 269 5.13.5 寄存器描述 269 5.14 定时器 0 和定时器 1272 5.14.1 特性 272 5.14.2 用途 272 5.14.3 引脚描述 273 5.14.4 结构 274 淘花/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-11-5.14.5 寄存器描述 274 5.14.6 定时器操作举例 280 5.14.7 使用示例 281 5.15 脉宽调制器 284 5.15.1 特性
41、284 5.15.2 引脚描述 285 5.15.3 PWM 描述 285 5.15.4 结构 286 5.15.5 寄存器描述 289 5.15.6 使用示例 295 5.16 A/D 转换器 297 5.16.1 特性 297 5.16.2 引脚描述 298 5.16.3 寄存器描述 298 5.16.4 操作 301 5.16.5 使用示例 301 5.17 实时时钟 302 5.17.1 特性 302 5.17.2 结构 302 5.17.3 RTC 中断 302 5.17.4 闰年计算 303 5.17.5 寄存器描述 304 5.17.6 混合寄存器组 305 5.17.8 完整时
42、间寄存器 307 5.17.8 时间计数器组 308 5.17.9 报警寄存器组 309 5.17.10 基准时钟分频器(预分频器)310 5.17.11 使用注意事项 312 5.17.12 使用示例 312 5.18 看门狗 316 5.18.1 特性 316 5.18.2 用途 316 5.18.3 使用方法 316 5.18.4 结构 316 5.18.5 寄存器描述 317 5.18.6 使用示例 319 5.19 本章小结 320 思考与练习 320 第第 6 章章 接口技术与硬件设计接口技术与硬件设计 6.1 最小系统 322 6.1.1 框图 322 6.1.2 电源 323
43、6.1.3 时钟 327 淘花/文库专用广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http:/-12-6.1.4 复位及复位芯片配置 327 6.1.5 存储器系统 330 6.1.6 调试与测试接口 330 6.1.7 完整的最小系统 332 6.2 片内外设 335 6.2.1 GPIO(通用 I/O)335 6.2.2 UART 和 MODEM340 6.2.3 I2C342 6.2.4 SPI350 6.3 总线接口 354 6.3.1 并行 SRAM354 6.3.2 并行 Flash360 6.3.3 USB(D1
44、2)接口 374 6.3.4 液晶接口 379 6.3.5 网络接口 390 6.4 其他外设 401 6.4.1 并行打印机接口 401 6.4.2 CF 卡及 IDE 硬盘接口 408 思考与练习 414 第第 7 章章 移植移植C/OSII 到到 ARM7 7.1 C/OSII415 7.2 移植规划 415 7.2.1 编译器的选择 415 7.2.2 任务模式的取舍 415 7.2.3 支持的指令集 416 7.3 移植C/OSII416 7.3.1 移植C/OSII 简介 416 7.3.2 关于头文件 includes.h 和 config.h417 7.3.3 编写 OS_CP
45、U.h418 7.3.4 编写 Os_cpu_c.c 文件 419 7.3.5 编写 OS_CPU_A.S424 7.3.6 关于中断及时钟节拍 427 7.4 移植代码应用到 LPC2000429 7.4.1 编写或获取启动代码 429 7.4.2 挂接 SWI 软件中断 429 7.4.3 中断及时钟节拍中断 430 7.4.4 编写应用程序 430 思考与练习 432 第第 8 章章 嵌入式系统开发平台嵌入式系统开发平台 8.1 嵌入式系统开发平台的建立 433 8.1.1 使用平台开发是大势所趋 433 8.1.2 建立开发平台的方法 437 淘花/文库专用广州周立功单片机发展有限公司
46、 Tel:(020)38730976 38730977 Fax:38730925 http:/-13-8.1.3 编写自己的软件模块 437 8.2 数据队列 438 8.2.1 数据队列简介 438 8.2.2 API 函数集 438 8.3 串口驱动 443 8.3.1 串口驱动简介 443 8.3.2 API 函数集 443 8.4 MODEM 接口模块 445 8.4.1 MODEM 简介 445 8.4.2 MODEM 的状态 445 8.4.3 API 函数集 445 8.5 I2C 总线模块 447 8.5.1 I2C 简介 447 8.5.2 API 函数集 447 8.6 SPI 总线模块 449 8.6.1 SPI 总线模块简介 449 8.6.2 API 函数集 449 8.7 其他软件模块 452 思考与练习 452 参考文献参考文献 淘花/文库专用