大家都知道单片机内部的flash都有写次数寿命限制。我们可以看到协议栈中osal_nv中的flash写次数是有优化的,那么这个优化的程度如何。比如原来可写的周期是10万次,经过优化后,可以达到多少次?其中的优化基本原理是什么?比如我们的产品方案中CC2530每次重启都要写一次配置参数(大概16个字节),该如何去考虑这个flash操作问题?
VV:
@shouhui,
TI Z-Stack NV操作写Flash的方式并不是传统的操作Flash的逻辑,而是类似于追加机制的操作方式,比方说同一个item在第一次写和第二次写在Flash的位置是不一样的。
每次重新写的时候,都是把新的数据写在之前写的地址的后面追加上去。这样的目的在于 某个item重新数据的时候,不需要先把原先的擦除,再写。
而是被废弃的Flash达到2K的时候,一次性擦除。
这样对Flash的操作寿命有很大的提升。