大多数ARM Cortex M MCU不具有EEPROM存储器。取而代之的是,可以将持久性数据写入也保存该程序的同一闪存中。
- 在此擦除/写入过程中,CPU的状态是什么?
- 会停止吗?是否保持正常运行?
- CPU的行为是否取决于所使用的特定MCU系列(例如STM32,Kinetis L)?
(在某些人看来,这可能是一个愚蠢的问题,但是Microchip的PIC16在闪存自编程期间将CPU暂停最多40ms。)
您有关于PIC16暂停的参考吗?
—
Daniel Grillo
@Wouter哪一个?您是否测试了它,例如说完全在RAM中执行了一个中断?
—
starblue
与我在从用户手册中阅读之前的评论相反,NXP芯片似乎在“应用程序内编程”期间仅禁用了闪存接口,因此在闪存擦除或写入期间可能完全从RAM运行中断。但是,在这个大不可行的领域,我可以想象一下,如果中断花费大量时间,就会出现时序问题,从而影响闪存的耐用性。
—
Wouter van Ooijen
是的,它们没有eeprom,但是,在这种情况下,诸如ST32之类的Cortex-M具有备份寄存器,您可以在其中保存有关PIC16的信息,我认为这很有趣。请提及您有关PIC16的消息。(数据表?)
—
Roh 2013年
@Wouter是的,时间安排可能是个问题。除了LPC8xx,“将RAM复制到闪存” IAP命令以时钟频率为参数,因此我怀疑它们使用了简单的延迟循环。
—
starblue 2013年