2729|0

4

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ARM Architecture 0002 [复制链接]

ARM  CPU的工作模式:

1.User:该模式为Unprivileged modes,该模式下的程序不能访问受保护的系统资源,不能更改CPU工作模式。如果需要跳出该模式,程序需要抛出一个异常(Exception),使CPU进入"Exception"模式。"User"模式下可以使用的寄存器R0-R14,PC,CPSR。

2.System:该模式为Privileged modes,程序可以访问系统的任何资源,可以更改CPU工作模式。该模式是专用于操作系统的程序。该模式下,程序可使用的寄存器与"User"模式相同。

3.Exception:该模式为Privileged modes,程序可以访问系统的任何资源,可以更改CPU工作模式。Exception 专用于处理各种异常,每中异常都有一个固定的程序入口地址。"Exception"模式包含的各个异常及其功能如下:

  3.1 Supervisor:操作系统的程序入口。操作系统的程序均在此模式下运行,并且操作的程序具有对硬件完全的访问权限。该模式下可以使用的寄存器:R0-R12,R13_svc,R14_svc,PC,CPSR,SPSR_svc。

  3.2 Abort:存储空间访问异常处理入口。当存储空间的读写出现异常时,CPU直接跳入该入口进行异常处理。该模式下可以使用的寄存器:R0-R12,R13_abt,R14_abt,PC,CPSR,SPSR_abt。

  3.3 Undefined:未定义。该模式下可以使用的寄存器:R0-R12,R13_und,R14_und,PC,CPSR,SPSR_und。

  3.4 Interupt:一般中断处理入口。当CPU接收到有效中断时,直接进入中断处理程序入口。该模式下可以使用的寄存器:R0-R12,R13_irq,R14_irq,PC,CPSR,SPSR_irq。

  3.5 Fast Interupt:快速中断处理入口。通常用于数据传输等实时性非常强的场合。该模式下可以使用的寄存器:R0-R7,R8_fiq-R14_fiq,PC,CPSR,SPSR_fiq。

 

注1:R13、R13_svc、R13_abt、R13_und、R13_irq、R13_fiq,它们是不同的物理寄存器(其余类似)。

注2:ARM CPU中,共有37个物理寄存器,只是在不同的CPU模式下,有对应的访问限制。这种做法目的是:当CPU切换模式时,可保持前一个模式的程序运行现场,减少数据压栈的时间。

注3:一般,R13_<mode>=Stack Pointer,R14_<mode>=Link Register。每个模式均维护一个独立的栈。每个模式均维护一个独立的程序套嵌关系。

此帖出自ARM技术论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表