サイト内検索

Silicon Labs EFM8/C8051:フラッシュメモリ上のデータが壊れました。何が原因ですか?

EFM8/C8051

主な原因として考えられるのは、VDD Monitor(電源監視)を有効にしていなかったことです。

VDD Monitorを無効にしていた場合、ユーザコードの内容によってはフラッシュメモリ上のデータが壊れてしまう可能性があります。
ユーザコードからフラッシュメモリへのイレース/ライトを行う場合、VDD Monitorは有効にしておく必要があります。各ファミリのデータシート(EFM8の場合はリファレンスマニュアル)の「Flash Memory」の章に、「Voltage Supply Maintenance and the Supply Monitor」という説明がありますので、必ずご一読ください。
供給電圧が動作保証範囲にない期間(電源オン/オフ時、瞬停時)は、正常な動作が期待できませんが、この期間中にプログラムカウンタが異常値を示し、ユーザコードの不特定箇所を実行する場合があります。そのユーザコードにフラッシュメモリへのイレース/ライトが含まれている場合には、意図せずイレース/ライトが実行されることになり、データ破壊の原因となります。

なお、フラッシュのデータ壊れについては、SiliconLabsのコミュニティサイトにチェックポイントがまとめてありますので、併せてご確認ください。

経験豊富なFAEが
無料でご相談を承ります。

特定製品の仕様からパーツの選定まで、当社のFAEが皆様のテクニカルなお悩みに無料で回答します。ぜひ、お気軽にご相談ください。