NXP半导体设计的LPC3000系列ARM芯片,适用于要求高性能和低功耗结合的嵌入式应用中。 NXP通过使用90纳米的处理技术,将一个带有矢量浮点协处理器的ARM926EJ-S CPU内核与一系列包括USB On-The-Go在内的标准外设结合起来,从而实现LPC3000的性能目标。LPC3000系列ARM可工作在高于266MHz的CPU频率下。ARM926EJ-S CPU内核加入5级流水处理并采用哈佛结构。该内核还具有一个完整的存储器管理单元(MMU),以提供支持现代操作系统多程序设计所需的虚拟存储器功能。ARM926EJ-S CPU内核还包含了带有单周期MAC操作的一系列DSP指令扩展,以及Jazelle Java字节代码执行。NXP实现的器件具有一个32kB指令高速缓存和32kB数据高速缓存。
上传时间: 2013-11-20
上传用户:xiaowei314
ARM指令集(2) 1.跳转指令 在ARM中有两种方式可以实现程序的跳转:一种是刀‘转指令;另一种是直接向PC寄存器(R15)中写入目标地址值。 通过直接向PC寄存器中写入目标地址值可以实现在46B地址空间中任意跳转,这种跳转指令又称为长跳转。如果在长跳转指令之前使用MOV LR,PC等指令,则可以保存将来返回的地址值,这样就实现了在46B地址空间中的子程序调用。 在ARM版本5及以上的体系中,实现了ARM指令集和Thumb指令集的混合使用。指令使用目标地址值的bit[0]来确定目标程序的类型。bit[0]的值为1时,目标程序为Thumb指令;bit[0]值为0时,目标程序为ARM指令。 在ARM版本5以前的体系中,传送到PC寄存器中的目标地址值的低两位bits[1∶0]被忽略,跳转指令只能在ARM指令集中执行,即程序不能从ARM状态切换到Thumb状态。非T系列ARM版本5体系不含Thumb指令,当程序试图切换到Thumb状态时,将产生未定义指令异常中断。 ARM跳转指令可以从当前指令向前或向后的32MB地址空间跳转。这类跳转指令有以下4种。
上传时间: 2013-11-20
上传用户:妄想演绎师
arm指令集(1) ARM跳转指令可以从当前指令向前或向后的32MB地址空间跳转。这类跳转指令有以下4种。 (1)B 跳4专指令 B〔条件) (地址) B指令属于ARM指令集,是最简单的分支指令。一旦遇到一个B指令,ARM处理器将立即跳转到给定的地址,从那里继续执行。注意:存储在分支指令中的实际值是相对当前R15的值的一个偏移量,而不是一个绝对地址。它的值由汇编器来计算,是24位有符号数,左移两位后有符号扩展为32位,表示的有效偏移位为26位(+/- 32 MB)。 (2)BL 带返回的跳转指令 BI,〔条件) (地址) BL指令也属于ARM指令集,是另一个分支指令。就在分支之前,在寄存器R14中装载上R15的内容,因此可以重新装载R14到R15中来返回到这个分支之后的那个指令处执行,它是子例程的一个基本但强力的实现。 (3)BLX 带返回和状态切换的跳转指令 BLX <地址> BLX指令有两种格式,第1种格式的BLX指令记作BLX(1)。BLX(1)从ARM指令集跳转到指令中指定的目标地址,并将程序状态切换到Thumb状态,该指令同时将PC寄存器的内容复制到LR寄存器中。 BLX(1)指令属于无条件执行的指令。 第2种格式的BLX指令记作BLX(2)。BLX(2)指令从ARM指令集跳转到指令中指定的目标地址,目标地址的指令可以是ARM指令,也可以是Thumb指令。目标地址放在指令中的寄存器<dest>中,该地址的bit[0]值为0,目标地址处的指令类型由CPSR中的T位决定。该指令同时将PC寄存器的内容复制到LR寄存器中。 (4)BX 带状态切换的跳转指令 BX(条件) (dest) BX指令跳转到指令中指定的目标地址,目标地址处的指令可以是ARM指令,也可以是Thumb指令。目标地址值为指令的值和0xFl·FFFFFF做“与”操作的结果,目标地址处的指令类型由寄存器决定。
上传时间: 2014-12-27
上传用户:laomv123
Luminary半导体ARM单片机选型指南
上传时间: 2013-10-29
上传用户:jcljkh
ARM调试
上传时间: 2013-11-22
上传用户:sssl
ARM处理器的工作模式 ARM处理器状态 ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。 ARM处理器状态 进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。ARM处理器模式 ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc):操作系统使用的保护模式。数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。系统模式(sys):运行具有特权的操作系统任务。定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。ARM处理器模式 ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。ARM寄存器 ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。以及6个32位状态寄存器。 关于寄存器这里就不详细介绍了,有兴趣的人可以上网找找,很多这方面的资料。异常处理 当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。当一个异常出现以后,ARM微处理器会执行以下几步操作:进入异常处理的基本步骤:将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。将CPSR复制到相应的SPSR中。根据异常类型,强制设置CPSR的运行模式位。强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。 ARM微处理器对异常的响应过程用伪码可以描述为: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;当运行于 ARM 工作状态时If == Reset or FIQ then;当响应 FIQ 异常时,禁止新的 FIQ 异常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:将连接寄存器LR的值减去相应的偏移量后送到PC中。将SPSR复制回CPSR中。若在进入异常处理时设置了中断禁止位,要在此清除。
上传时间: 2013-11-15
上传用户:hanbeidang
关键词 LM3S2016、CTM系列隔离CAN收发器摘 要 基于32位Luminary ARM的CAN节点设计
上传时间: 2013-10-13
上传用户:guanliya
基于M CORE微控制器的嵌入式系统从应用的角度出发,全面介绍了构成嵌人式系统的微控制器的结构和常用支撑硬件的原理以及设计开发方法。本书共 24章,分为3大部分。第 1部分(第 1~14章)介绍具有 32位 RISC CPU核的M·CORE微控制器的结构及原理,按模块分章,对各功能模块的原理及使用方法都有详尽的讲解。众所周知,微控制器种类繁多,虽然不同种类微控制器的CPU及内部功能模块有所不同,但基本原理(尤其是一些通用的功能)是一致的。第2部分(第15—19章)介绍嵌入式系统常用外围电路的原理及设计和使用方法,包括有:异步串行接口的互连及应用举例、同步串行总线及应用举例、液晶显示模块、液晶控制器、触摸屏及触摸屏控制器和各类存储器的应用举例。第3部分(第20—24章)介绍嵌人式系统的开发环境与软件开发,在讨论嵌人式系统软件开发的一般过程和开发工具需求的基础上,介绍M·CORE软件开发支持工具集、MMC2107微控制器评估板、M·CORE常用工具软件、QodeWarrior集成开发环境IDE及M·CORE的基本程序设计技术。 第1部分 M·COREM控制器的结构及原理 第1章 微控制器及其应用技术概述 1.1 微控制器的特点 1.2 微控制器技术的发展 1.3 M·CORE系列微控制器 l.3.1 MMC2107的特点及组成 1.3.2 MMC2107的引脚描述 1.3.3 MMC2107的系统存储器地址映射 第2章 M·CORE M210中央处理单元(CPU) 2.1 M·CORE处理器综述 2.1.1 M·CORE处理器的微结构 2.1.2 M·CORE处理器的编程模型 2.1.3 M·CORE的数据格式 2.1.4 M·CORE处理器的寄存器 2.2 M·CORE处理器指令系统简述 2. 2.l 指令类型和寻址方式
上传时间: 2013-10-28
上传用户:lhw888
Keil C51单片机/arm开发工具 V8.02 :使用方法:双击c51v802.exe直接安装直到结束,安装路径最好选用默认的c:\keil 不含注册码,有2k代码的大小限制。单片机开发必备软件。
上传时间: 2013-11-04
上传用户:summery
DSP+ARM
上传时间: 2013-10-25
上传用户:kachleen