よくあるMCUのフラッシュ問題

フラッシュメモリは、ほとんどの Microcontrollers (MCU) に内蔵されたオンチップ機能で、不揮発性の記憶メディアです。時々、予期せぬエラーが発生して解決が難しいと思われるフラッシュ問題を経験することがあります。以下のヒントは、より一般的なフラッシュ問題を解決するのに役立つでしょう。

問題の原因 解決策
(1) 電源電圧の低下または喪失 (i) MCUへの接続が良好かどうかを確認してください。
(ii) 電源が正しく動作していることを確認してください。
(iii) MCUをEMI源およびESD源から離してください。
(2) システム周波数の違反 動作電圧と周波数がMCUの仕様の範囲内であるかどうかを確認してください。
(3) フラッシュプログラミングに必要な供給電圧の違反 (i) プログラミング時に供給電圧が安定していることを確認してください。
(ii) プログラミングエラービットの異常な変化がないかどうか、確認してください。(MCUがこのことを示している場合)
例えば、一部の TIMSP430 MCU デバイスは、プログラミング中に電源電圧が大幅に変化するとVPEビットを生成します。このビットは無効な結果を示し、電源電圧に関連するフラッシュ問題をデバッグするのに役立ちます。
(4) フラッシュタイミングジェネレータに与えられた無効なクロック (i) クロックがフラッシュコントローラに適しているかどうか、また仕様から外れていないかどうかを確認してください。
(ii) ソースクロックをデータシートの周波数要件にしたがって、正しく分周してください。
(5) 予期せぬ消去 (i) メモリを割り当てるとき、フラッシュセグメントバウンダリに従ってください。
(ii) 可能であれば、消去する前にデータをRAMに保存してください。
(6) プログラミングツールがデバイスを認識できない (i) ツールアプリケーションを最新のファームウェアに更新してください。
(ii) ハードウェアの接続を確認してください。

これは、マイクロコントローラのフラッシュ問題をデバッグする方法をよりよく理解するのに役立つ関連記事です。
TI の記事: Debugging Flash Issues on the MSP430™ Family of Microcontrollers




オリジナル・ソース(英語)