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
本文针对在苹果园中监测测量控制等系统中无法方便的把数据传输给移动设备的情况,在此介绍了一种以USB接口芯片沁恒CH375和MCS51单片机为核心,U盘、移动硬盘等为存储介质的数据存储方案。本模块给出了硬件电路的设计和U盘的读写程序,并指出了易出错的调试细节。实验结果证明,该方法具有成本低,可靠性高,通用性强,可以简便地集成到各种监测、测控系统中。
上传时间: 2013-10-16
上传用户:zhqzal1014
本文设计的色谱仪数据采集系统,采用24位AD芯片ADS1253对检测器输出的电压信号进行模/数转换,然后由单片机读取数据并传送给上位机。主要介绍了该系统的硬件和软件设计。其中,硬件电路运用了抗干扰设计,软件设计给出了程序框图。最后的实验结果表明,该系统采到的数据准确、可靠,保证了仪器检测出更多的样品组份。
上传时间: 2014-12-27
上传用户:rolypoly152
介绍了一种用MSP430 单片机实现光纤旁路保护器的方法。在硬件设计上采用精密光学元件和控制电路,实现了光路的无缝切换。在MSP430 单片机内嵌入TCP/IP 协议,借助以太网控制芯片CS8900A 实现了单片机通过以太网传输数据。MCU 实时监测防火墙发来的心跳信号,在防火墙出现异常时,旁路器切换光路绕过防火墙,从而保证网络通畅。
上传时间: 2013-11-20
上传用户:yelong0614
本文针对新型匝间耐压测试仪中需要高速采集数据的问题提出了一种结合CPLD 与单片机的高速数据采集系统设计方案。CPLD 产生A/D 芯片的控制时序以及SRAM 的读写控制时序,单片机输出给CPLD控制A/D 转换的启动信号,并通过CPLD 读取SRAM 中的采样数据。该系统具有较好的可移植性。
上传时间: 2013-11-15
上传用户:狗日的日子
单片机多机通信网络改进及数据通信容错技术: 对单片机数据通信网络物理结构进行改进,实现多机自主通信. 以单片机串行口为基础,实现数据通信的容错技术.关键词 数据通信; 单片机; 网络结构
上传时间: 2014-12-28
上传用户:edisonfather
分,5'1Zk硬件和软件的角度介绍了智能电压数据采集装置各部分的原理、功能,给出了串行通讯的程序流程图及部分程序。经调试证明,该程序简单、可靠,具有较高的应用价值。
上传时间: 2013-11-08
上传用户:a673761058
MCS51系列单片机在工程数据采集中的应用:随着现代科学技术的发展,单片机已深入应用到社会发展的各个领域,如家电制造业、工程数据采集、智能仪表等。因而各芯片制造厂商纷纷推出不同系列的单片机,以满足不同行业的实际需要。结合本人的实际工作,现介绍一种集智能仪表与数据采集相结合的终端设备,可广泛应用于自来水、煤气管网等等的数据采集与远传,实现自来水、煤气等公司的集中监控与调度。本设备的特点是结构简单、成本低、维护方便等特点。因而可以代替价格较高的PLC 在这方面的应用。
上传时间: 2013-10-09
上传用户:lalalal
这份SCN2681 / SCN68681和SCC2691数据通信应用规格书包含了一些用户最常提出的问题的解答,本文共分三个主要部分:三个器件共有的功能;SCN2681 / SCN68681特有的功能;以及使用乐器数字接口(MIDI)的SCC2691的典型应用。
上传时间: 2013-10-13
上传用户:朗朗乾坤
EPCM-2643是EPCM2000系列数据采集工控主板中功能最丰富的产品之一。它不仅拥有完整的底层驱动库和通信协议,更具有数据采集、大容量存储、通信及控制等丰富的外围电路,从而充分减少了您二次开发时间。
上传时间: 2013-10-17
上传用户:hullow