JAJZ030C November 2024 – November 2025 MSPM0G1518 , MSPM0G1519 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0G3529-Q1
CPU モジュール
機能
低電力モードへの遷移時に、プリフェッチャが誤った命令を読み取る可能性がある
低電力モードへ遷移する際に保留中のプリフェッチがある場合、プリフェッチャが誤って正しくないデータ (すべて 0) をフェッチする可能性があります。デバイスがウェイクアップした際、もしプリフェッチャおよびキャッシュが ISR コードによって上書きされない場合、フラッシュから実行されるメイン コードが破損する可能性があります。たとえば、ISRがSRAM内にある場合、フラッシュからプリフェッチされた誤ったデータは上書きされません。ISR から復帰する際に、プリフェッチャ内の破損したデータが CPU によってフェッチされ、誤った命令が実行されるおそれがあります。ハードウェア イベント ウェイクアップは、デバイスをウェイクアップするがプリフェッチャをフラッシュしないプロセスのもう 1 つの例です。
低電力モードに入る前にプリフェッチャを無効にします。
例:
CPUSS.CTL.PREFETCH = 0x0; // プリフェッチャを無効化
SYSCTL.SOCLOCK.SHUTDNSTORE0; // シャットダウン メモリから読み出し
__WFI(); // または __WFE(); この関数は低電力モードへの遷移を呼び出す
CPUSS.CTL.PREFETCH = 0x1; // プリフェッチャを再有効化