文章目录
ARM架构提供了16个32位的通用寄存器R0-R15工软件使用,其中的15个(R0-R14)可以被用作通用数据存储,R15作为程序计数器(PC),用来保存将要执行的指令,软件直接操作R15可以改变程序的执行流程。ARM提供了一个当前程序状态寄存器CPSR和一个备份程序状态寄存器SPSR,SPSR寄存器就是CPSR寄存器的备份,所以Cortex-A7一共有18个寄存器,如图 1所示:
上一节我们讲了Cortex-A7有9种运行模式,每一种运行模式都有一组与之对应的寄存器组。每一种模式可见的寄存器包括15个通用寄存器(R0~R14)、一两个程序状态寄存器和一个程序计数器(PC)。在这些寄存器中,有些是所有模式所共用的同一个物理寄存器,有一些是各模式自己所独立拥有的,各个模式所拥有的寄存器如图 2所示:
从上图中可以看出浅色字体的是与User模式所共有的寄存器,蓝绿色背景的是各个模式所独有的寄存器。可以看出在所有的模式中,寄存器组(R0~R7)
是共享同一组物理寄存器的,从R8开始的寄存器在
本文详细介绍了ARM Cortex-A7的寄存器组,包括16个通用寄存器R0-R15,其中R15作为程序计数器,以及CPSR和SPSR程序状态寄存器。通用寄存器分为未备份和备份两类,而状态寄存器用于保存程序状态。在不同模式下,某些寄存器具有独立的物理寄存器,以支持快速中断和其他模式的需求。
最低0.47元/天 解锁文章

5313

被折叠的 条评论
为什么被折叠?



