在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 5463|回复: 13

[资料] ARM处理器及ARM处理器工作模式

[复制链接]
发表于 2011-1-25 13:31:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x


ARM
处理器状态


ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:

第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;

第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。

在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。


ARM处理器模式


ARM微处理器支持7种运行模式,分别为:

用户模式(usr)ARM处理器正常的程序执行状态。

快速中断模式(fiq):用于高速数据传输或通道处理。

外部中断模式(irq):用于通用的中断处理。

管理模式(svc):操作系统使用的保护模式。

数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。

系统模式(sys):运行具有特权的操作系统任务。

定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。


ARM寄存器


ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。以及632位状态寄存器。

关于寄存器这里就不详细介绍了,有兴趣的人可以上网找找,很多这方面的资料。


异常处理


当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。当一个异常出现以后,ARM微处理器会执行以下几步操作:


进入异常处理的基本步骤:


将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。将CPSR复制到相应的SPSR中。根据异常类型,强制设置CPSR的运行模式位。

强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。

ARM微处理器对异常的响应过程用伪码可以描述为:

R14_ = Return Link

SPSR_= CPSR

CPSR[4:0] = Exception Mode Number

CPSR[5] = 0 ;当运行于 ARM 工作状态时

If == Reset or FIQ then;当响应 FIQ 异常时,禁止新的 FIQ 异常

CPSR[6] = 1

PSR[7] = 1

PC = Exception Vector Address


异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:

将连接寄存器LR的值减去相应的偏移量后送到PC中。

SPSR复制回CPSR中。

若在进入异常处理时设置了中断禁止位,要在此清除。


欲知更多请访问中华矽智网SIPMallhttp://www.sipmall.org/

发表于 2011-1-26 12:31:41 | 显示全部楼层
做嵌入式非要这么清楚么?我想请教一下。我只是应用,其他的深入开发不要,一般能弄个板子跑起来就行。
发表于 2011-1-26 14:45:38 | 显示全部楼层
这不是datasheet上的吗
发表于 2011-1-28 20:18:19 | 显示全部楼层
简单。
发表于 2011-3-2 10:09:43 | 显示全部楼层
看看··················
发表于 2011-3-2 10:16:21 | 显示全部楼层
顶起············
发表于 2011-4-7 23:37:59 | 显示全部楼层
顶了。
发表于 2011-4-8 22:28:00 | 显示全部楼层
没钱了 顶楼主帖子
发表于 2011-4-11 17:33:29 | 显示全部楼层
什么意思???
发表于 2011-4-23 16:26:07 | 显示全部楼层
回复 1# ICmatch


    好東西啊!頂一個!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 09:37 , Processed in 0.024360 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表