加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 ARM嵌入式入门级教程

ARM嵌入式入门级教程.pdf

ARM嵌入式入门级教程

张俊毅VlP
2009-06-20 0人阅读 举报 0 0 暂无简介

简介:本文档为《ARM嵌入式入门级教程pdf》,可适用于IT/计算机领域

目录第一章嵌入式系统嵌入式系统的概念嵌入式系统的组成嵌入式系统的发展嵌入式系统的应用前景第二章ARM体系结构ARM简介ARM微处理器结构寄存器组织异常(EXCEPTIONS)ARM微处理器的应用选型第三章OURSEDU开发板说明系统概述电路说明FLASH芯片的烧录第四章ADS开发及MULTIICE仿真器应用ADS集成开发环境组成介绍使用ADS创建工程工程的调试MULTIICE仿真器及超级终端第五章嵌入式开发基础实验实验一汇编指令实验实验二汇编指令实验实验三C语言程序实验实验四C语言程序实验第六章基本实验实验一IO接口实验实验二串口通讯实验实验三实时时钟实验实验四I²C实验EEPROM实验实验五I²C实验基于I²C数码管扫描电路实验六WATCHDOG实验实验七触摸屏控制实验实验八IO实验×发光二极管点阵试验实验九AD转换实验实验十DA转换实验实验十一音频接口IS实验实验十二键盘中断实验第七章扩展实验实验一GPS实验实验二GPRS实验嵌入式系统教学平台实验教材第一章嵌入式系统嵌入式系统(EmbeddedSystem)在于结合微处理器或为控制器的系统电路与其专用的软件来达到系统运作效率成本的最优化。今天凡移动电话手表电视机电子游戏机、PDA、冰箱等家用电子和通信产品乃至于电动交通工具的控制核心无不与嵌入式系统息息相关。而在后PC时代家电、玩具、汽车、新一代手机、数码产品、先进的医疗设备乃至于即将到来的智能型房屋、智能型办公室、与其它跟电相关的器材设备更是缺少不了嵌入式系统的这个核心技术。嵌入式系统的概念根据IEEE的定义嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。这主要是从应用上加以定义的从中可以看出嵌入式系统是软件和硬件的综合体。不过上述定义并不能充分体现出嵌入式系统的精髓目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。简单地说嵌入式系统集系统的应用软件与硬件于一体类似于PC中BIOS的工作方式具有软件代码小、高度自动化、响应速度快等特点特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成它是可独立工作的“器件”。在明确了嵌入式系统定义基础上我们可从以下几方面来理解嵌入式系统:.嵌入式系统是面向用户、面向产品、面向应用的嵌入式系统是与应用紧密结合的它具有很强的专用性必须结合实际系统需求进行合理的裁减利用。嵌入式系统和具体应用有机地结合在一起它的升级换代也是和具体产品同步进行因此嵌入式系统产品一旦进入市场具有较长的生命周期。.嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。.嵌入式系统必须根据应用需求对软硬件进行裁剪满足应用系统的功能、可靠性、成本、体积等要求。为了提高执行速度和系统可靠性嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中而不是存贮于磁盘等载体中。.嵌入式系统本身不具备自主开发能力即使设计完成以后用户通常也是不能对其中的程序功能进行修改的必须有一套开发工具和环境才能进行开发。实际上凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统。现在人们讲嵌入式系统时某种程度上指近些年比较热的具有操作系统的嵌入式系统。嵌入式系统教学平台实验教材嵌入式系统的组成嵌入式系统是计算机软件和硬件的综合体可涵盖机械或其他的附属装置。所以嵌入式系统可以笼统地分为硬件和软件两部分。嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(IO)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合的在这里我们对其不加区分这也是嵌入式系统和通用PC系统的最大区别)。如图图嵌入式系统组成嵌入式系统的硬件部分包括处理器微处理器、存储器及外设器件和IO端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统它不具备像硬盘那样大容量的存储介质而大多使用EPROM、EEPROM或闪存(FlashMemory)作为存储介质。从硬件方面来讲各式各样的嵌入式处理器是嵌入式系统硬件中的最核心的部分。目前嵌入式处理器的寻址空间可以从kB到MB处理速度最快可以达到MIPS封装从个引脚到个引脚不等。根据其现状嵌入式处理器可以分成下面几类:.嵌入式微处理器(EmbeddedMicroprocessorUnitEMPU)嵌入式微处理器采用“增强型”通用微处理器。根据实际要求将嵌入式微处理器装配在专门设计的主板上只保留和嵌入式应用有关的主板功能。由嵌入式微处理器及其存储器、总线、外设等安装在一块电路主板上构成一个通常所说的单板机系统。.嵌入式微控制器(MicrocontrollerUnitMCU)嵌入式微控制器又称单片机它将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某种微处理器内核为核心根据某些典型的应用在芯片内部集成了ROMEPROM、RAM、总线、总线逻辑、定时计数器、看门狗、IO、串行口、脉宽调制输出、AD、DA、FlashRAM、EEPROM等各种必要功能部件和外设。为适应不同的应用需求对功能的设置和外设的配置进行必要的修改和裁减定制。.嵌入式DSP处理器(EmbeddedDigitalSignalProcessorEDSP)DSP处理器是专门用于信号处理方面的处理器其在系统结构和指令算法方面进行了特殊设计具有很高的编译效率和指令的执行速度。在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。.嵌入式片上系统(SystemOnChipSOC)输入处理器存储器软件输出嵌入式系统教学平台实验教材SOC追求产品系统最大包容的集成器件SOC最大的特点是成功实现了软硬件无缝结合直接在处理器片内嵌入操作系统的代码模块。绝大部分系统构件都是在系统内部减小了系统的体积和功耗提高了系统的可靠性和设计生产效率。嵌入式处理器与通用型处理器最大的不同是嵌入式处理器大多工作在为特定用户群设计的系统中它通常都具有功耗低、体积小、集成度高等特点能够把通用处理器中许多由板卡完成的任务集成在芯片内部从而有利于嵌入式系统设计趋于小型化移动能力大大增强和网络的耦合也越来越紧密。嵌入式系统的软件部分包括操作系统和应用软件。应用软件决定了系统的运作和行为而操作系统控制着应用软件与系统硬件的交互。多数嵌入式设备的应用软件和操作系统都是紧密结合的这也是嵌入式系统和通用PC系统的主要区别之一。嵌入式系统的发展嵌入式系统的出现至今已经有多年的历史了嵌入式技术也历经了几个发展阶段。进入年代后以计算机和软件为核心的数字化技术取得了迅猛发展不仅广泛渗透到社会经济、军事、交通、通信等相关行业而且深入到家电、娱乐、艺术、社会文化等各个领域掀起了一场数字化技术革命。多媒体技术与Internet的应用迅速普及消费电子(Consumptiveelectron)计算机通信(Communication)C一体化趋势日趋明显嵌入式技术再度成为一个研究热点。综观嵌入式技术的发展大致经历了个阶段:.第一阶段是以单芯片为核心的可编程控制器形式的系统同时具有与监测、伺服、指示设备相配合的功能。这种系统一般没有操作系统的支持通过汇编语言编程对系统进行直接控制。这一阶段系统的主要特点是:系统结构和功能都相对单一处理效率较低存储容量较小几乎没有用户接口。.第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:CPU种类繁多通用性比较弱系统开销小效率高操作系统具有一定的兼容性和扩展性应用软件较专业用户界面不够友好系统主要用来控制系统负载以及监控应用程序运行。.第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上兼容性好操作系统内核精小、效率高并且具有高度的模块化和扩展性具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能具有大量的应用程序接口(API)开发应用程序简单嵌入式应用软件丰富。.第四阶段是以基于Internet为标志的嵌入式系统这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。早期的嵌入式系统只是为了实现某些特定功能使用一个循环控制对外界的请求进行处理。不可否认这对于简单的系统而言是足够的但是当我们的系统变得日渐复杂庞大的时候如果我要增添一项功能的时候很可能不得不重新进行系统的设计这无疑会增加开发的成本和系统复杂度。使用这种方式开发规模较大、功能复杂的嵌入式系统是不可想象的。世纪年代初期嵌入式操作系统的出现使得快速便捷地开发规模较大的嵌入式系统成为现实自这一时期开始就出现了各种各样的商用嵌入式操作系统从而形成了目前多种形式的商用嵌入式操作系统百家争鸣的局面。基于嵌入式操作系统之上的系统才能够真正符合嵌入式系统定义中的软件可裁剪、功能的可扩展、高可靠性等特征。区别于嵌入式系统教学平台实验教材嵌入式系统我们将不使用嵌入式操作系统的基于MCU(微控制器)、MPU(微处理器)和DSP的循环控制系统称之为前后台系统。嵌入式系统的应用前景后PC时代是一个真实的阶段而且是一个可以预测的时代。嵌入式系统就是与这一时代紧密相关的产物它将拉近人与计算机的距离形成一个人机和谐的工作与生活环境。从某一个角度来看嵌入式系统可应用于人类工作与生活的各个领域具有极其广阔的应用前景。嵌入式系统在应用数量上远远超过了各种通用计算机系统一台通用计算机的外部设备中就包含了个微处理器键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌入式系统控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。纵观嵌入式系统的发展过程可以看出嵌入式系统由简单的无操作系统的循环控制程序向具有强大功能的基于操作系统的方向发展从独立的系统向基于网络的系统发展。进入年代后以计算机和软件为核心的数字化技术取得了迅猛发展不仅广泛渗透到社会经济、军事、交通、通信等相关行业而且深入到家电、娱乐、艺术、社会文化等各个领域掀起了一场数字化技术革命。多媒体技术与Internet的应用迅速普及消费电子、计算机、通信(C)一体化趋势日趋明显嵌入式技术已再次成为一个研究热点。未来几年个人计算机将会延伸到各种大小型智能设备中各种信息借助于网络形成连接为一个整体。要达到这样的目标非嵌入式系统不可同时这也是我们对嵌入式系统的展望。图嵌入式系统应用嵌入式系统教学平台实验教材第二章ARM体系结构ARM简介ARMARM的全称是AdvancedRISCMachine这个公司不生产芯片也不销售芯片它只是出售芯片技术授权。ARM技术IP核的微处理器遍及汽车、消费电子、成像、工业控制、海量存储、网络、安保和无线等各类产品市场。目前世界上前大半导体公司全部使用了ARM的技术授权而前大半导体公司有家前大半导体公司中有家采用了ARM的技术授权。它借助于拥有的强大技术优势在世界范围内与许多业界领先的半导体厂商和芯片设计中心、实时操作系统软件开发商、应用软件公司、电子设计自动化(EDA)工具供应商和系统公司建立合作关系其中包括世界顶级的厂商Intel、NS、TI、Apple、Motorola、Mitsubishi、SUN、Lucent、Sanyo、Altera、Triscend、Agilent、Toshiba、Fujitsu、Sharp、ST、COM、OKI、YAMAHA、Atmel、Rohm、Rockwell、Philips、Lucent、Samsung、Hyundai、Sony和Alcatel等家公司。由此可见ARM技术具有不可抗拒的魅力年采用ARMIP核的芯片出货量就达亿片占RISC市场份额年采用ARMIP核的芯片出货量更是增长到亿片RISC市场份额上升到同期MIPS芯片占PowerPC芯片占。到目前为止ARM微处理器及技术的应用几乎已经深入到各个领域:.工业控制领域:作为的RISC架构基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额同时也逐渐向低端微控制器应用领域扩展ARM微控制器的低功耗、高性价比向传统的位位微控制器提出了挑战。.无线通讯领域:目前已有超过的无线通讯设备采用了ARM技术ARM以其高性能和低成本在该领域的地位日益巩固。.网络应用:随着宽带技术的推广采用ARM技术的ADSL芯片正逐步获得竞争优势。此外ARM在语音及视频处理上行了优化并获得广泛支持也对DSP的应用领域提出了挑战。.消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。.成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的位SIM智能卡也采用了ARM技术。除此以外ARM微处理器及技术还应用到许多不同的领域并会在将来取得更加广泛的应用。ARM微处理器采用RISC架构一般具有如下特点:—体积小、低功耗、低成本、高性能—支持Thumb(位)ARM(位)双指令集能很好的兼容位位器件—大量使用寄存器指令执行速度更快—大多数数据操作都在寄存器中完成—寻址方式灵活简单执行效率高—指令长度固定。嵌入式系统教学平台实验教材ARM的内核简介ARM内核结构芯片具有RISC体系的一般特点:—具有大量寄存器—绝大多数操作都是在寄存器中进行寄存器与内存打交道的唯一是通过LoadStore的体系结构在内存和寄存器之间传递数据—寻址方式简单—采用固定长度的指令ARM微处理器目前包括下面几个系列以及其它厂商基于ARM体系结构的处理器除了具有ARM体系结构的共同特点以外每一个系列的ARM微处理器都有各自的特点和应用领域。—ARM系列—ARM系列—ARME系列—ARME系列—SecurCore系列—Inter的Xscale—Inter的StrongARM其中ARM、ARM、ARME和ARM为个通用处理器系列每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。以下我们来详细了解一下各种处理器的特点及应用领域。.ARM微处理器系列ARM系列微处理器为低功耗的位RISC处理器最适合用于对价位和功耗要求较高的消费类应用。ARM微处理器系列具有如下特点:—具有嵌入式ICE-RT逻辑调试开发方便。—极低的功耗适合对功耗要求较高的应用如便携式产品。—能够提供MIPSMHz的三级流水线结构。—代码密度高并兼容位的Thumb指令集。—对操作系统的支持广泛包括WindowsCE、Linux、PalmOS等。—指令系统与ARM系列、ARME系列和ARME系列兼容便于用户的产品升级换代。—主频最高可达MIPS高速的运算处理能力能胜任绝大多数的复杂应用。ARM系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM系列微处理器包括如下几种类型的核:ARMTDMI、ARMTDMIS、ARMT、ARMEJ。其中ARMTMDI是目前使用最广泛的位嵌入式RISC处理器属低端ARM处理器核。.ARM微处理器系列ARM系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:—级整数流水线指令执行效率更高。—提供MIPSMHz的哈佛结构。—支持位ARM指令集和位Thumb指令集。—支持位的高速AMBA总线接口。嵌入式系统教学平台实验教材—全性能的MMU支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。MPU支持实时操作系统。—支持数据Cache和指令Cache具有更高的指令和数据处理能力。ARM系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。ARM系列微处理器包含ARMT、ARMT和ARMT三种类型以适用于不同的应用场合。.ARME微处理器系列ARME系列微处理器为可综合处理器使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案极大的减少了芯片的面积和系统的复杂程度。ARME系列微处理器提供了增强的DSP处理能力很适合于那些需要同时使用DSP和微控制器的应用场合。ARME系列微处理器的主要特点如下:—支持DSP指令集适合于需要高速数字信号处理的场合。—级整数流水线指令执行效率更高。—支持位ARM指令集和位Thumb指令集。—支持位的高速AMBA总线接口。—支持VFP浮点处理协处理器。—全性能的MMU支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。—MPU支持实时操作系统。—支持数据Cache和指令Cache具有更高的指令和数据处理能力。—主频最高可达MIPS。ARM系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。ARME系列微处理器包含ARMEJS、ARMES和ARMES三种类型以适用于不同的应用场合。.ARME微处理器系列ARME系列微处理器具有高性能、低功耗的特点由于采用了新的体系结构与同等的ARM器件相比较在同样的时钟频率下性能提高了近%同时ARME系列微处理器采用了两种先进的节能方式使其功耗极低。ARME系列微处理器的主要特点如下:—支持DSP指令集适合于需要高速数字信号处理的场合。—级整数流水线指令执行效率更高。—支持位ARM指令集和位Thumb指令集。—支持位的高速AMBA总线接口。—支持VFP浮点处理协处理器。—全性能的MMU支持WindowsCE、Linux、PalmOS等主流嵌入式操作系统。—支持数据Cache和指令Cache具有更高的指令和数据处理能力。—主频最高可达MIPS。—内嵌并行读写操作部件。ARME系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。ARME系列微处理器包含ARME、ARME和ARMEJS三种类型以适用于不同的应用场合。.SecurCore微处理器系列SecurCore系列微处理器专为安全需要而设计提供了完善的位RISC技术的安全解决方案因此SecurCore系列微处理器除了具有ARM体系结构的低功耗、高性能的特嵌入式系统教学平台实验教材点外还具有其独特的优势即提供了对安全解决方案的支持。SecurCore系列微处理器除了具有ARM体系结构各种主要特点外还在系统安全方面具有如下的特点:—带有灵活的保护单元以确保操作系统和应用数据的安全。—采用软内核技术防止外部对其进行扫描探测。—可集成用户自己的安全特性和其他协处理器。SecurCore系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统如电子商务、电子政务、电子银行业务、网络和认证系统等领域。SecurCore系列微处理器包含SecurCoreSC、SecurCoreSC、SecurCoreSC和SecurCoreSC四种类型以适用于不同的应用场合。.StrongARM微处理器系列InterStrongARMSA处理器是采用ARM体系结构高度集成的位RISC微处理器。它融合了Inter公司的设计和处理技术以及ARM体系结构的电源效率采用在软件上兼容ARMv体系结构、同时采用具有Intel技术优点的体系结构。IntelStrongARM处理器是便携式通讯产品和消费类电子产品的理想选择已成功应用于多家公司的掌上电脑系列产品。.Xscale处理器Xscale处理器是基于ARMvTE体系结构的解决方案是一款全性能、高性价比、低功耗的处理器。它支持位的Thumb指令和DSP指令集已使用在数字移动电话、个人数字助理和网络产品等场合。Xscale处理器是Inter目前主要推广的一款ARM微处理器。各系列产品性能比较见下表。表ARM各系列产品性能比较功能型号Cache大小(指令数据)紧密耦合存储器(TCM)存储器管理AHB总线接口ThumbDSPJazelleARMTDMI无无无有有无无ARMTDMIS无无无有有无无ARMEJS无无无有有有有ARM性能特征ARMTk无MMU有有无无ARMTkk无MMU有有无无ARMTkk无MMU有有有无ARM性能特征ARMTkk无MMU有有有无ARMEJSkk有MMU双AHB有有有ARMESMBMB有MPUAHB有有无ARME性能特征ARMES无有无AHB有有无ARMEkk无MMU双AHB有有无ARMEkk无MMU双AHB有有无ARME性能特征ARMEJS可变有MMUMMU双AHB有有有ARM性能特征ARMJSk有MMU四个位AHB有有无嵌入式系统教学平台实验教材ARMJFSk有MMU四个位AHB有有有ARMSecurCoreSC无无MPU无有无无SC无无MPU无有无无SC可选无MPU无有有有SC可选无MPU无有有有ARMIntelStrongARMkk无MMUNA无无无XScalekk无MMUNA有有无ARM微处理器结构RISC体系结构传统的CISC(ComplexInstructionSetComputer复杂指令集计算机)结构有其固有的缺点即随着计算机技术的发展而不断引入新的复杂的指令集为支持这些新增的指令计算机的体系结构会越来越复杂然而在CISC指令集的各种指令中其使用频率却相差悬殊大约有%的指令会被反复使用占整个程序代码的%。而余下的%的指令却不经常使用在程序设计中只占%显然这种结构是不太合理的。基于以上的不合理性年美国加州大学伯克利分校提出了RISC(ReducedInstructionSetComputer精简指令集计算机)的概念RISC并非只是简单地去减少指令而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。RISC结构优先选取使用频率最高的简单指令避免复杂指令将指令长度固定指令格式和寻址方式种类减少以控制逻辑为主不用或少用微码控制等措施来达到上述目的。到目前为止RISC体系结构也还没有严格的定义一般认为RISC体系结构应具有如下特点:—采用固定长度的指令格式指令归整、简单、基本寻址方式有~种。—使用单周期指令便于流水线操作执行。—大量使用寄存器数据处理指令只对寄存器进行操作只有加载存储指令可以访问存储器以提高指令的执行效率。除此以外ARM体系结构还采用了一些特别的技术在保证高性能的前提下尽量缩小芯片的面积并降低功耗:—所有的指令都可根据前面的执行结果决定是否被执行从而提高指令的执行效率。—可用加载存储指令批量传输数据以提高数据的传输效率。—可在一条数据处理指令中同时完成逻辑处理和移位处理。—在循环处理中使用地址的自动增减来提高运行效率。当然和CISC架构相比较尽管RISC架构有上述的优点但决不能认为RISC架构就可以取代CISC架构事实上RISC和CISC各有优势而且界限并不那么明显。现代的CPU往往采用CISC的外围内部加入了RISC的特性如超长指令集CPU就是融合了RISC和CISC的优势成为未来的CPU发展方向之一。嵌入式系统教学平台实验教材ARM微处理器的寄存器结构ARM处理器共有个寄存器被分为若干个组(BANK)这些寄存器包括:—个通用寄存器包括程序计数器(PC指针)均为位的寄存器。—个状态寄存器用以标识CPU的工作状态及程序的运行状态均为位目前只使用了其中的一部分。同时ARM处理器又有种不同的处理器模式如下表在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下可访问的寄存器包括个通用寄存器(R~R)、一至二个状态寄存器和程序计数器。在所有的寄存器中有些是在种处理器模式下共用的同一个物理寄存器而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。表ARM处理器的种处理器模式处理器模式描述用户模式(Userusr)正常程序执行的模式快速中断模式(FIQfiq)用于高速数据传输和通道处理外部中断模式(IRQirq)用于通常的中断处理特权模式(Supervisor,Sve)供操作系统使用的一种保护模式数据访问中止模式(Abort,abt)用于虚拟存储及存储保护未定义指令中止模式(Undefinedund)用于支持通过软件仿真硬件的协处理器系统模式(Systemsys)用于运行特权级的操作系统任务除了用户模式之外其它的种处理器模式称为特权模式。在这些模式下程序可以访问所有的系统资源也可以任意的进行处理器模式的切换其中除了系统模式外其它种特权模式又称为异常模式。处理器模式可以通过软件控制来进行切换也可以通过外部中断或异常处理过程进行切换。大多数的用户程序可以运行在用户模式下这时应用程序不能够访问一些受应用程序保护的系统资源。应用程序不能直接进行处理器模式的切换。当需要处理器的模式切换的时候应用程序可以产生异常处理在异常处理过程种进行处理器模式的切换这种体系结构可以使整个操作系统控制整个系统的资源。当应用程序发生异常中断时处理器进入相应的异常模式在每一种异常模式中都有一组寄存器供相应的异常处理程序使用这样就保证在进入异常模式的时候用户模式下的寄存器(保存了程序的运行的状态)不被破坏。ARM微处理器的指令结构ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中ARM指令为位的长度Thumb指令为位长度。Thumb指令集为ARM指令集的功能子集但与等价的ARM代码相比较可节省%~%以上的存储空间同时具备位代码的所有优点。关于ARM处理器的指令结构在后面的相关章节将会详细描述。嵌入式系统教学平台实验教材寄存器组织ARM微处理器共有个位寄存器其中个为通用寄存器个为状态寄存器。但是这些寄存器不能被同时访问具体哪些寄存器是可编程访问的取决微处理器的工作状态及具体的运行模式。但在任何时候通用寄存器R~R、程序计数器PC、一个或两个状态寄存器都是可访问的。ARM状态下的寄存器组织通用寄存器:通用寄存器包括R~R可以分为三类:—未分组寄存器R~R—分组寄存器R~R—程序计数器PC(R)。未分组寄存器R~R:在所有的运行模式下未分组寄存器都指向同一个物理寄存器他们未被系统用作特殊的用途因此在中断或异常处理进行运行模式转换时由于不同的处理器运行模式均使用相同的物理寄存器可能会造成寄存器中数据的破坏这一点在进行程序设计时应引起注意。分组寄存器R~R:对于分组寄存器他们每一次所访问的物理寄存器与处理器当前的运行模式有关。对于R~R来说每个寄存器对应两个不同的物理寄存器当使用fiq模式时访问寄存器Rfiq~Rfiq当使用除fiq模式以外的其他模式时访问寄存器Rusr~Rusr。对于R、R来说每个寄存器对应个不同的物理寄存器其中的一个是用户模式与系统模式共用另外个物理寄存器对应于其他种不同的运行模式。采用以下的记号来区分不同的物理寄存器:R<mode>R<mode>其中mode为以下几种模式之一:usr、fiq、irq、svc、abt、und。寄存器R在ARM指令中常用作堆栈指针但这只是一种习惯用法用户也可使用其他的寄存器作为堆栈指针。而在Thumb指令集中某些指令强制性的要求使用R作为堆栈指针。由于处理器的每种运行模式均有自己独立的物理寄存器R在用户应用程序的初始化部分一般都要初始化每种模式下的R使其指向该运行模式的栈空间这样当程序的运行进入异常模式时可以将需要保护的寄存器放入R所指向的堆栈而当程序从异常模式返回时则从对应的堆栈中恢复采用这种方式可以保证异常发生后程序的正常执行。R也称作子程序连接寄存器(SubroutineLinkRegister)或连接寄存器LR。当执行BL子程序调用指令时R中得到R(程序计数器PC)的备份。其他情况下R用作通用寄存器。与之类似当发生中断或异常时对应的分组寄存器Rsvc、Rirq、Rfiq、Rabt和Rund用来保存R的返回值。寄存器R常用在如下的情况:在每一种运行模式下都可用R保存子程序的返回嵌入式系统教学平台实验教材地址当用BL或BLX指令调用子程序时将PC的当前值拷贝给R执行完子程序后又将R的值拷贝回PC即可完成子程序的调用返回。以上的描述可用指令完成:.执行以下任意一条指令:MOVPCLRBXLR.在子程序入口处使用以下指令将R存入堆栈:STMFDSP!,{<Regs>,LR}对应的使用以下指令可以完成子程序返回:LDMFDSP!,{<Regs>,PC}R也可作为通用寄存器。程序计数器PC(R)寄存器R用作程序计数器(PC)。在ARM状态下位:为位:用于保存PC在Thumb状态下位为位:用于保存PC虽然可以用作通用寄存器但是有一些指令在使用R时有一些特殊限制若不注意执行的结果将是不可预料的。在ARM状态下PC的和位是在Thumb状态下PC的位是。R虽然也可用作通用寄存器但一般不这么使用因为对R的使用有一些特殊的限制当违反了这些限制时程序的执行结果是未知的。由于ARM体系结构采用了多级流水线技术对于ARM指令集而言PC总是指向当前指令的下两条指令的地址即PC的值为当前指令的地址值加个字节。表ARM状态下的寄存器组织在ARM状态下任一时刻可以访问以上所讨论的个通用寄存器和一到两个状态寄存器。在非用户模式(特权模式)下则可访问到特定模式分组寄存器表说明在每一种运行模式下哪一些寄存器是可以访问的。寄存器R:寄存器R用作CPSR(CurrentProgramStatusRegister当前程序状态寄存器)CPSR嵌入式系统教学平台实验教材可在任何运行模式下被访问它包括条件标志位、中断禁止位、当前处理器模式标志位以及其他一些相关的控制和状态位。每一种运行模式下又都有一个专用的物理状态寄存器称为SPSR(SavedProgramStatusRegister备份的程序状态寄存器)当异常发生时SPSR用于保存CPSR的当前值从异常退出时则可由SPSR来恢复CPSR。由于用户模式和系统模式不属于异常模式他们没有SPSR当在这两种模式下访问SPSR结果是未知的。Thumb状态下的寄存器组织Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集程序可以直接访问个通用寄存器(R~R)、程序计数器(PC)、堆栈指针(SP)、连接寄存器(LR)和CPSR。同时在每一种特权模式下都有一组SP、LR和SPSR。表表明Thumb状态下的寄存器组织。表Thumb状态下的寄存器组织Thumb状态下的寄存器组织与ARM状态下的寄存

用户评价(1)

  • townie 不错的资料

    2010-07-27 05:10:22

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/32

ARM嵌入式入门级教程

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利