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
当今集成电路设计已经进入 SOC 时代,于是各公司针对自己的设计需求挑选一款性价比较高的处理器作为内核是一件非常重要的事情。下面将介绍一款集成了DSP 和MCU 功能的处理器ZSP neo 。ZSP neo 是一类新型的处理器,它在一个的内核中集成了DSP 和MCU 的功能。对于那些需要比现有8 位微控制器更高的控制处理性能,而又无需32 位微控制器的对成本敏感的应用来说,ZSP neo 是一个理想的选择。ZSP neo 针对其性能要求采用了相应的架构:·采用基于 RISC 的架构:处理器具有静态分支预测功能;所以程序员设计程序时无需考虑跳转延时。·采用了 Load-Store 架构:处理器对存储器的操作使用 load 和store 指令;操作不直接发生在存储器中。所有其他指令均为寄存器-寄存器操作;使用寄存器节省了存储器带宽。采用多种load/store 指令,这样优化了存储器操作;同时支持32 位和16 位的数据操作。处理器允许前推的灵活架构;功能单元的结果能够在下个周期无条件地被其他功能单元使用。
上传时间: 2013-10-19
上传用户:奔跑的雪糕
为了扩大监控范围,提高资源利用率,降低系统成本,提出了一种多通道视频切换的解决方案。首先从视频信号分离出行场信号,然后根据行场信号由DSP和FPGA产生控制信号,控制多路视频通道之间的切换,从而实现让一个视频处理器同时监控不同场景。实验结果表明,该方案可以在视频监控告警系统中稳定、可靠地实现视频通道的切换。 Abstract: To expand the scope of monitoring, improve resource utilization, reduce system cost, a multiple video channels signal switching method is pointed out in this paper. First, horizontal sync signal and field sync signal from the video signal are separated, then control signal according to the sync signal by DSP and FPGA is generated to control the switching between multiple video channels. Thus, it achieves to make a video processor to monitor different place. Experimental results show that the method can realize video channel switching reliably, and is applied in the video monitoring warning system successfully.
上传时间: 2013-11-09
上传用户:不懂夜的黑
利用NiosII多核处理器,提出了基于Internet的实时路况查询系统和智能车载终端。通过配置双NiosII软核,改善了MCU处理速度不高、外设资源有限、接口配置繁琐、硬件设计和软件设计编程复杂等问题,将大量控制以及对多种外设访问的工作进行了合理分配。既具有普通导航设备的方便实用性,又能通过无线通讯及Internet与后台服务器连接,获取道路拥堵情况、停车场车位情况等动态实时信息,同时可作为智能交通的车载前端。
上传时间: 2014-12-30
上传用户:superman111
基于ARM11的嵌入式视频处理终端设计 在研究了基于ARMl 1体系结构的Samsung$3C6410处理器的基 础上,给出了多格式视频编解码的使用方法和Windows CE下中断流 驱动的设计方法,为Windows CE操作系统下的图像采集和视频处理 的复杂控制提供了软件实现的方法;并以该处理器为核心,加上外部 存储器和USB摄像头等接口电路,完成了一个嵌入式视频处理终端 核心板的硬件原理图设计和PCB图的设计,并对视频处理终端的印 制电路板的电磁兼容进行了研究。 首先对嵌入式系统和视频处理进行了简单的介绍,指出了采用 $3C6410处理器设计的视频处理终端具有的优势。其次,对$3C6410 多格式视频编解码的使用进行了仔细分析,为多格式视频编解码软件 的编写提供了思路。给出了Windows CE下中断流驱动程序的设计方 法,为主处理器和BIT处理器在Windows CE下中断流驱动的设计提 供了一种较为通用的参考模型。第三,在熟悉了S3C64lO处理器的 体系结构基础上设计出了下列电路原理图:电源及复位电路,时钟电 路,DDR SDRAM和FLASH存储器电路,USB接口电路,串口电路, JTAG接口电路,LCD和TSP接口电路。整个嵌入式视频处理终端是 一个可以独立工作的可扩展系统,该系统主要用于图像采集和视频编 解码功能。另外,分别从滤波和接地等电磁兼容性设计手段出发,对 这些方法进行了理论分析,提出了提高视频处理终端电磁兼容的措 施。最后,通过编写简单的应用程序,视频处理终端对图像进行H.264 编码,可以通过无线网卡进行传输编码后的图像。测试结果表明,视 频处理终端能够实现视频图像的拍摄、压缩、无线视频传送和视频监 控等功能。
上传时间: 2013-11-22
上传用户:谁偷了我的麦兜
Windows优化大师 6.5 Build 5.124 更新如下: 1、修正了Windows文件加密的一处错误。 2、改进了系统信息检测。 (1)、改进了存储系统检测。 (2)、改进了处理器信息检测。 3、改进了网络系统优化。修正了优化参数,改进了IE与其它设置模块。 4、改进了冗余动态链接库清理。该模块改进为一个独立的线程。 5、改进了垃圾文件清理。 (1)、垃圾文件清理模块改进为多线程方式。 (2)、重复文件分析模块改进为多线程方式。 6、改进了注册表清理。修正了与一款制图软件的兼容性。 7、改进了系统个性设置。全面改进了右键设置模块。 8、改进了备份与恢复管理模块。 9、改进了其它设置选项中的界面设置模块。 10、改进了开机速度优化。
上传时间: 2015-05-15
上传用户:坏坏的华仔
ARM?系列微处理器作为全球 16/32 位 RISC 处理器市场的领先者,在许多领 域内得到了成功的应用。近年来,ARM 在国内的应用也得到了飞速的发展,越 来越多的公司和工程师在基于 ARM 的平台上面开发自己的产品。
上传时间: 2015-05-24
上传用户:奇奇奔奔
:随着信息化技术的发展和数字化产品的普及,以计算机技术!芯片技术和软件技术为核心的嵌入式系统 开发再度成为国内当前研究的热点.论述了嵌入式系统的体系结构及开发流程,针对目前越来越多的基于 Nios的系统开发,分析了新一代Nios内核处理器的结构特点.
上传时间: 2015-07-04
上传用户:LouieWu
Nucleus PLUS是美国著名RTOS厂商ATI公司(Accelerated Tedmology lnc) 在嵌入式实 时多任务操作系统Nucleus基础上,为实时嵌入式应用而设计的一个抢先式多任务操作系统内核。其95%的代码是用ANSI C写成的,非常便于移植并支持大多数类型的处理器 Nucleus PLUS是一组c函数库,应用程序代码与核心函数连接在一起,生成一个目标代码,下载到目标板的RAM 中或直接烧录到目标板的ROM 中执行。在典型的目标环境中,Nucleus PLUS核心代码区一般不超过20K字节大小。
标签: Nucleus Accelerated Tedmology PLUS
上传时间: 2014-01-06
上传用户:6546544
philips的ARM处理器LPC2114跑ucosii的程序包,实现了包括zlg7290键盘和数码管驱动,128*64液晶屏,跑马灯程序的多任务实例。
上传时间: 2014-11-30
上传用户:z754970244