- 1、本文档共1页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统基础延伸阅读
嵌入式系统基础
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 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中。
若在进入异常处理时设置了中断禁止位,要在此清除。
您可能关注的文档
- 汽车底盘机械系统检修 文章 06-1 说说汽车的前轮是如何实现既可以转向又可以驱动的?.doc
- 汽车电工与电子技术 6.3集成运放及其应用 任务5.3 认识运算放大电路.doc
- 汽车电路系统初级维护 LIN总线的特点及应用 LIN总线的特点及应用电子教案.doc
- 汽车电路系统初级维护 背插针的使用 背插针的使用电子教案.doc
- 汽车电路系统初级维护 发电机发电量检测 发电机发电量检测电子教案.doc
- 汽车电路系统初级维护 继电器的结构 继电器的结构电子教案.doc
- 汽车电路系统初级维护 免维护蓄电池的检测 免维护蓄电池的检测电子教案.doc
- 汽车电路系统初级维护 总线波形的测量 总线波形的测量电子教案.doc
- 汽车电路系统初级维护 组合式继电器的检测 组合式继电器的检测电子教案.doc
- 汽车电气、电子系统故障诊断与修理(旧) 240 题库 判断题.doc
文档评论(0)