ほとんどのARM Cortex M MCUは、EEPROMメモリを備えていません。代わりに、プログラムも保持する同じフラッシュメモリに永続データを書き込むことができます。
- この消去/書き込みプロセス中のCPUの状態は何ですか?
- 止まりますか?正常に動作していますか?
- CPUの動作は、使用する特定のMCUファミリ(STM32、Kinetis Lなど)に依存しますか?
(一部の人にとってこれは愚かな質問のように見えるかもしれませんが、マイクロチップのPIC16はフラッシュの自己プログラミング中に最大40msの間CPUを停止します。)
PIC16の停止についてのリファレンスはありますか?
—
Daniel Grillo 2013年
@Wouterどれ?完全にRAMで実行される割り込みでそれをテストしましたか?
—
starblue 2013年
UserManualsから読み取る前にコメントしたのとは対照的に、NXPチップは、アプリケーションプログラミング中にフラッシュインターフェイスのみを無効にするようです。そのため、フラッシュの消去または書き込み時に、RAMから完全に実行される割り込みが発生する可能性があります。しかし、この大部分は手つかずの領域です。たとえば、割り込みにかなりの時間がかかると、フラッシュの耐久性に影響を与えるタイミングの問題を想像できます。
—
Wouter van Ooijen 2013年
はい、彼らはeepromを持っていませんが、この状況では、ST32のような一部のCortex-Mにはバックアップレジスタがあり、そこにPIC16に関する情報を保存できます。興味深いことだと思います。PIC16に関する情報源を明記してください。(データシート?)
—
Roh
@Wouterはい、タイミングが問題になる可能性があります。LPC8xxを除いて、「RAMをフラッシュにコピー」IAPコマンドはクロック周波数をパラメーターとして取るので、単純な遅延ループを使用しているのではないかと思います。
—
starblue 2013年