您好!
我们将内部闪存配置到了不同的区域 A、B、C、D A 是我们的第一个区域、在做一些事情后跳转到区域 B。 我们将尝试在区域 A 中配置 MPU。当我们将大小为4MB 的完整内部闪存配置为首先读写时、它会跳转至区域 B、并且运行良好。 如果我们将区域 C 和 D 配置为只读、我们将在某些例外情况下结束或不移至区域 B。那么、是否存在任何限制或限制、我们必须先将完整的4MB 配置为只读/只读、或者我们是否能够以任何方式配置所有区域?
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.
您好!
我们将内部闪存配置到了不同的区域 A、B、C、D A 是我们的第一个区域、在做一些事情后跳转到区域 B。 我们将尝试在区域 A 中配置 MPU。当我们将大小为4MB 的完整内部闪存配置为首先读写时、它会跳转至区域 B、并且运行良好。 如果我们将区域 C 和 D 配置为只读、我们将在某些例外情况下结束或不移至区域 B。那么、是否存在任何限制或限制、我们必须先将完整的4MB 配置为只读/只读、或者我们是否能够以任何方式配置所有区域?
尊敬的 Bharat:
您的观察结果是正确的。
MPU 位于 CPU 内。 您的 MPU 设置可以保护闪存免受 CPU 写入、但当闪存 API 用于对闪存进行编程(写入)时、CPU 不会直接写入闪存地址。 到闪存的物理写入由闪存包装程序中的闪存状态机执行。
请参阅以下两个主题、了解更多详细信息:
(+) TMS570 -闪存组1的 MPU -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
(+) CCS/TMS570LS1224:有关触发 MPU 的闪存写保护? -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
——
谢谢、此致、
Jagadish。
尊敬的 Bharath:
请告诉我如何通过闪存配置实现扇区擦除或编程保护
您可以使用 FBPORT 和 FBSE 寄存器执行此操作。
如果 FBPORT 寄存器中的 PROTL1DIS 位被清零、则将启用1级保护、如果启用此保护、则无法启用 FBSE 寄存器中所需的扇区进行擦除和写入。
如果我们在不禁用此保护位和/或不启用扇区位的情况下直接调用任何写入或擦除命令、那么我们将得到以下突出显示的错误。
——
谢谢、此致、
Jagadish。