写入/擦除周期为1000个周期。
这是否意味着一次擦除+写入= 2个周期?
此周期计数针对每个存储器位置吗? 示例:如果位置0x10000有1000个周期、但0x20000有50个周期、那么我们应该能够毫无问题地使用位置0x20000?
如果计数超过1000、预期的行为会发生什么变化?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
写入/擦除周期为1000个周期。
这是否意味着一次擦除+写入= 2个周期?
此周期计数针对每个存储器位置吗? 示例:如果位置0x10000有1000个周期、但0x20000有50个周期、那么我们应该能够毫无问题地使用位置0x20000?
如果计数超过1000、预期的行为会发生什么变化?
写入/擦除周期由构成单个周期的写入和擦除定义。 实际上、它是一个扇区被擦除的次数。 在上面注释的示例中、地址0x10000和0x20000位于两个单独的扇区中、因此是。 如果扇区0x10000有1000个周期、扇区0x20000只有50个周期、您可以继续循环扇区0x20000。
由于周期数增加到超出规格(1000个周期)、通常擦除会由于电荷捕获而开始花费更长的时间。 擦除可能最终失败。 此外、在氧化层中捕获的电荷经过多次循环后可能会导致电荷辅助隧道。 这意味着0位可能会失去其电荷并变为1。
没有自动计数器。 您的软件可以通过在闪存扇区中保留一个位置来实现、该位置在扇区擦除之前读取、然后在扇区擦除之后递增并重新编程。 这样一个简单计数器的问题在于、如果在扇区擦除期间发生功率损耗或复位、它可能会丢失。 EEPROM 仿真驱动程序(可在 HALCoGen 中找到)可以实现一个计数器、它至少使用两个扇区、这样信息在第一个扇区被擦除前被复制到第二个扇区。
感谢您的建议。 目前、我计划使用类似的器件。
外部闪存可用于存储计数。
但是、如果我们通过 JTAG 来刷写控制器、那么软件就不能保留这个计数。因此、如果有任何寄存器或存储周期数的东西、可以使用它来检查。
既然您知道没有计数器、除了软件、还有其他方法来检查计数吗? 如果我们将控制器发送给 TI 供应商、TI 是否能够识别周期数?
如果通过引导加载程序完成重新编程、则可以使用计数器方法。
[引用 USER="Kavya Ramachandra"]但是如果我们通过 JTAG 刷写控制器,那么软件将无法对此进行计数。因此,如果有任何寄存器或存储周期数的内容,则可以使用它来检查。[/QUERPLET]
否、没有用于保存擦除计数的寄存器。 也许一个复杂的编程器序列将一个闪存位置读取到一个文件中、擦除扇区、然后一个外部程序(诸如一个在 PC 上运行的程序)递增文件中的值、最后、新代码和修改后的文件都被 JTAG 编程到器件中。
[引用用户="Kavya Ramachandra"]除了软件之外,是否还有其他方法来检查计数? [/报价]
否、
[报价用户="Kavya Ramachandra"]如果我们将控制器发送给 TI 供应商,TI 是否能够识别周期数?
否