ZHCZ057A December 2024 – November 2025 MSPM0L1116 , MSPM0L1117
CPU 模块
功能
在转换到低功耗模式时,预取器可能会获取错误的指令
转换到低功耗模式且存在待处理的预取时,预取器可能会错误地获取不正确的数据(全 0)。当器件唤醒时,如果预取器和高速缓存未被 ISR 代码覆盖,则从闪存执行的主代码可能会损坏。例如,如果 ISR 位于 SRAM 中,则从闪存预取的不正确的数据不会被覆盖。当 ISR 返回损坏的数据时,CPU 可能会提取预取器中的数据,从而导致指令不正确。硬件事件唤醒是将唤醒器件但不刷新预取器的进程的另一个示例。
进入低功耗模式之前禁用预取器。
示例:
CPUSS.CTL.PREFETCH = 0x0;//禁用预取器
SYSCTL.SOCLOCK.SHUTDNSTORE0 // 从关断存储器读取
__WFI();//或 __WFE ();该函数调用转换到低功耗模式
CPUSS.CTL.PREFETCH = 0x1;//启用预取器