TI专家
你们好,我们产品由于PCB空间有限,所以在数据存储时用到了430 本身的flash空间,当数据有改变时我会擦除掉原有的数据,再写入新的数据。
现在的问题是有的430的flash在经过多次改写后某些字节的数据会发生改变,并不是每次改写flash都会出错,大概会有千分之一的概率出现这种错误
我查找了一下原因,发现原因可能如下:
产品前期使用的时钟为1M,在对flash进行初始化时有使用了这个语句:FCTL2 = FWKEY + FSSEL_2 + FN1;闪存控制器时钟为0.33MHz
产品后期使用的时钟改为8M,忘记更改flash闪存控制器时钟分频器,依旧是FCTL2 = FWKEY + FSSEL_2 + FN1;,这导致闪存控制器时钟为2.67MHz
这个是不是导致flash数据有些字节会改变的原因?
如果是这个原因导致的,前期的产品已经交付,不可能再修改已烧录的程序,不过已交付的产品不会对flash进行修改,只会从flash上读取数据,如果闪存控制器时钟为2.67MHz,从flash上读取数据错误的可能性有多大?
谢谢!