主题中讨论的其他器件:HALCOGEN、
工具与软件:
我一直在试验 MPU 后台区域、并且已经注意到、 从 sys_mpu.asm 中调用 HALcoGen 的_mpuEnableBackgroundRegion_()函数似乎 执行与我所期望的相反的操作、并且禁用后台区域。 如 ARMv7-A/ARMv7-R 参考手册所述、 BR 位设为0时、MPU 的行为就像存在在任何访问时生成后台故障存储器中止的后台区域。"
mpuEnableBackgroundRegion_()函数设置 SCTLR。 通过"Orr r0、 r0、#0x20000"将 BR 位更改成了1。 对 与已配置 MPU 区域不对应的存储器地址执行读取或写入操作时、默认情况下不会生成 TMS570LS3137数据表(例如:0x80000000)中表6.9.2中定义的数据中止、则不会生成数据中止。 删除对 _mpuEnableBackgroundRegion_()的调用时(即:SCTLR。 BR 为0)、则生成数据中止。
只是想确认此行为是否符合预期并且我的理解是向后的、或者 在本例中 HALCoGen 的"启用"和"禁用"术语是否向后(参考 ARM 参考手册)。
谢谢!