Embedded 理解ARM中Mpu的编程[M3]

Embedded 理解ARM中Mpu的编程[M3],embedded,arm,cortex-m3,cortex-m,mpu,Embedded,Arm,Cortex M3,Cortex M,Mpu,我试图了解它是如何与Mpu的别名寄存器一起工作的 以下是我的理解: A. 对于每个区域,都有单独的RBAR和RASR寄存器。因此,对于8个区域,这些寄存器中总共有16个物理上位于硬件中,但用户不可见,即它们不在总线上供用户访问 这是来自ARMv7的一条线路。 MPU区域编号寄存器选择相关区域寄存器 因此,当我在sfr总线[RBAR、RBAR_A1、RBAR_A2或RBAR_A3]上写入用户可用的任何区域基址寄存器时,硬件首先在内部检查选择了哪个区域,并根据选择的区域编号,将写入任何区域的值写入所

我试图了解它是如何与Mpu的别名寄存器一起工作的

以下是我的理解:

A.
对于每个区域,都有单独的RBAR和RASR寄存器。因此,对于8个区域,这些寄存器中总共有16个物理上位于硬件中,但用户不可见,即它们不在总线上供用户访问

这是来自ARMv7的一条线路。
MPU区域编号寄存器选择相关区域寄存器

因此,当我在sfr总线[RBAR、RBAR_A1、RBAR_A2或RBAR_A3]上写入用户可用的任何区域基址寄存器时,硬件首先在内部检查选择了哪个区域,并根据选择的区域编号,将写入任何区域的值写入所选区域的内部寄存器[RBAR、RBAR_A1、RBAR_A2或RBAR_A3]

上述理解正确吗

B.
此外,在别名寄存器上,当用户写入上述任何寄存器时,所有寄存器都具有相同的值,例如:假设我写入RBAR_A1=0x40000013,然后读取RBAR寄存器,然后返回0x40000013,对于RBAR_A2、RBAR_A3也是如此

上述说法是否也正确

请让我知道,如果我的理解如何与MPU寄存器正确