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:订单禁用 MPU 和高速缓存

Guru**** 2470720 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1024516/tms570lc4357-the-order-disable-mpu-and-cache

器件型号:TMS570LC4357

您好!   

  MPU enable, 高速缓存在 我的程序中启用。  

  当我 要重置 MCU 时, 禁用 MPU、使能高速缓存、按  顺序禁用高速缓存?  

 谢谢  

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

    您好!

    缓存无效意味着清除缓存中的数据。 由于缓存的内容未定义、因此必须在复位后始终使其失效。 如果高速缓存包含不干净的数据、则使其无效通常是不正确的。 从写入到回写可缓存区域的任何更新数据都将因简单的失效而丢失。

    清理缓存意味着将脏缓存行的内容写入主存储器、并清除缓存行中的脏位。 这使得高速缓存行和主存储器的内容相互一致。 这仅适用于使用回写策略的数据缓存。

    因此、在 MCU 复位之前、如果代码中使用了回写策略、则应清除缓存。 MCU 复位后、较好的做法是使数据高速缓存无效。  

    在禁用 MPU 之前、必须清除数据缓存并使其无效、然后禁用缓存。