zoukankan      html  css  js  c++  java
  • ARM处理器寄存器和运行状态

    ARM体系的CPU有以下7种工作模式:

      1、用户模式(Usr):用于正常执行程序;

          2、快速中断模式(FIQ):用于高速数据传输;

          3、外部中断模式(IRQ):用于通常的中断处理;

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

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

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

          7、未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件;

    当异常发生的时候CPU会进入到相应的模式来进行处理:

    异常 模式 描述
    复位 管理模式 复位电平有效时,产生复位异常,程序转跳到复位处理程序执行
    未定义指令 未定义模式 遇到不能处理的指令,产生未定义指令异常
    软件中断 管理模式 执行swi指令产生,用于用户模式下的程序调用特权操作指令
    预存指令 中止模式 处理器预取指令的地址不存在,或者该地址不允许当前指令访问,产生指令预取中断异常
    数据操作 中止模式 处理器预取数据的地址不存在,或者该地址不允许当前指令访问,产生指令预取中断异常
    未使用 未使用 未使用
    IRQ IRQ 外部中断请求有效,且CPSR中的1位为0时,产生IRQ异常
    FIQ FIQ 快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常

    以下是寄存器和运行模式对应的关系:

    R0---R12是普通寄存器,可以任意读写.

    R13是栈指针寄存器,用于保存堆栈指针

    R14是程序连接寄存器,当执行BL子程序调用指令时,R14中得到R15的备份,而当发生中断或异常时,R14保存R15的返回值

    R15是程序计数器

    (A/C)PSR:(标志位寄存器)

      T位:1——CPU处于Thumb状态, 0——CPU处于ARM状态;

      I、F(中断禁止位): 1——禁止中断, 0——中断使能;

      工作模式位:可以改变这些位,进行模式切换;

    spsr:程序状态保存寄存器,当切换进入某一个特权模式时,SPSR保存前一个工作模式的CPSR值,这样,当返回前一个工作模式时,可以将SPSR的值恢复到CPSR中

  • 相关阅读:
    element ui 表单清空
    element ui 覆盖样式 方法
    element ui 修改表单值 提交无效
    element ui 抽屉里的表单输入框无法修改值
    element ui 抽屉首次显示 闪烁
    css 左侧高度 跟随右侧内容高度 自适应
    PICNUF框架
    elementui 抽屉组件标题 出现黑色边框
    vue 子组件跨多层调用父组件中方法
    vue 编辑table 数据 未点击提交,table里的数据就发生了改变(深拷贝处理)
  • 原文地址:https://www.cnblogs.com/CHYI1/p/5524867.html
Copyright © 2011-2022 走看看