【发布时间】:2016-10-28 04:51:24
【问题描述】:
首先,对不起我的英语不好,因为我的英语水平不是很好......
在提问之前,我想说明一下我的情况,以帮助理解。
我想用 EEPROM 作为一种计数器。
该计数器的值会非常频繁地增加,所以我应该考虑耐力问题。
我的想法是,在多个地址上交替写入计数器值,以便将单元磨损减少 N。
例如,如果我使用 5x 面积进行计数,
计数 1 -> 1 0 0 0 0
计数 2 -> 1 2 0 0 0
计数 3 -> 1 2 3 0 0
计数 4 -> 1 2 3 4 0
计数 5 -> 1 2 3 4 5
计数 6 -> 6 2 3 4 5
...
因此,电池寿命可以延长 N 倍。
然而,AFAIK,对于当前的 NAND 闪存,数据擦除/写入是由一组字节完成的,称为块。因此,如果所有字节都在单个写入/擦除块内,我的方法将不起作用。
那么,我的主要问题是:PIC 的 EEPROM 的擦除/写入操作是由一组字节完成的吗?还是由单个单词或字节完成?
例如,如果它是由一组 8 字节完成的,那么我应该在每个计数器值之间做 8 字节偏移,以使我的方法正常工作。
否则,如果是按字节或字来完成,我就不用考虑间距/偏移了。
【问题讨论】: