1

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

所以这是我的理解:

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

这是来自 ARMv7 的一行。
The MPU Region Number Register selects the associated region registers

因此,当我写入任何在 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 寄存器一起工作的理解正确,请告诉我。

4

0 回答 0