この質問が Stackoverflow に当てはまることを願っています (そうでない場合は、既に謝罪したいと思います)。
私はSilabsのC8051F340マイクロコントローラを持っています。uC から不揮発性フラッシュ メモリに情報を格納する小さなインターフェイスを作成しました。説明したデータ シートのように、アドレス 0x0200 ~ 0x0300 の間のすべてのデータを保存します。そこにデータをコピーするには、memcpy を使用します。
char xdata *ptr_selection = 0x0210;
// Some other code here
memcpy (ptr_selection, writeBuffer, sizeof (writeBuffer));
コピー自体はうまく機能します(フラッシュメモリを調べたところ、データが正しく保存されていました)-uCを取り外して5秒ほどで再度接続しても、データはまだそこにあります。しかし、切断したままにしておくと、データは多かれ少なかれ「リセット」されます。つまり、毎回ほぼ同じ「リセット値」になります。それで、私は何を間違っていますか?フラッシュデータが不揮発性ではないということですか、それとも何か問題がありましたか?