This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LC4357:TMS570LC4357 - MPU 在指定区域上生成 BG 故障

Guru**** 2386610 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1350510/tms570lc4357-tms570lc4357---mpu-generates-bg-fault-on-defined-region

器件型号:TMS570LC4357

您好!

我正在尝试通过 EMIF 与 NOR 闪存芯片通信。 为此、我已配置并启用了 MPU、如下所示。

在初始化期间、我会初始化并启用 MPU。

然而、尽管如此、MPU 仍会在以下代码行上生成一个故障:

FSR 和 FAR 的值如下所示:

鉴于这些值都在我定义的区域内、为什么 MPU 会产生故障?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题如下:

    我有一个较低优先级的区域、覆盖的地址空间与我没有启用的地址空间相同。 启用该区域后、故障消失。 好像当 MPU 区域重叠时、低优先级区域的启用/禁用实际上 取代了高优先级区域的启用/禁用。 这种令人困扰的行为导致了该问题。 进一步使问题复杂化、禁用区域15并保持区域5被启用不会产生任何故障、所以、前一个问题似乎是正确的。  

    如果遇到同样的问题、请检查您的 MPU 区域是否重叠、如果重叠、请确保它们都已启用。