嵌入式-ARM寄存器基本概念

嵌入式-ARM寄存器基本概念

  无论是学习哪一种处理器,首先需要明确的就是这种处理器的寄存器以及工作模式。

  ARM有37个寄存器,其中31个通用寄存器,6个状态寄存器。

  这里尤其要注意区别的是ARM自身寄存器和它的一些外设的寄存器的区别。

  ARM自身是统一架构的,也就意味着37个寄存器无论在哪个公司的芯片里面都会出现。但是各家公司会对ARM进行外设的扩展,所以就出现了好多外设寄存器,一定要与这37个寄存器区别开来!!!

  1、备份寄存器(R8-R14)

  对于R8-R12来说,除在快速中断模式下,每个模式对应相同物理寄存器,所以在FIQ模式下可不必保护和恢复中断现场。

  对于R13-R14来说,每个寄存器对应6个不同的物理寄存器,其中一个是用户模式和系统模式共用的。

  寄存器R13常用做栈指针SP,除用户和系统模式外,其他模式在使用时的名字构成为R13_。

  寄存器R14又被称

  2、不分组寄存器(R0-R7)

  不分组也就是说说,在所有的处理器模式下指的都时同一物理寄存器。在异常中断造成处理器模式切换时,由于不同的处理器模式使用一个名字相同的物理寄存器,就是使用的同一个寄存器,这样可能造成寄存器中数据被破坏,所以在进行模式切换时必须加以保护。

  为连接寄存器(LR),除用户和系统模式外,其他模式在使用时的名字构成为 R14_。

  有下面两种特殊用途:

  A、每个处理器模式自己的物理R14中存放在当前子程序的返回地址。当通过BL或BLX指令调用子程序时,R14被设置成该子程序的返回地址。

  B、当异常中断发生时,该异常模式下的R14被设置成保存该模式基于PC的返回地址,对于

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值