我通过STM32的SPI口读写W25N01GV这个spi FLASH,每次写入数据前,都进行擦除。在数据量很小的时候,读写都正常。继续写入数据(不擦除,不覆盖前面数据),大概到0x0260区域附近,之前读写都正常的数据,现在读出,发现部分位不对了(比如aa,读回来是a8或2a等)。
如果继续写入数据(不擦除,不覆盖前面数据),写入的数据越多,读回来的数据,错误也越多,比较随机,之前读写正常的数据,错误也越来越多。
实测波形,发现spi flash输出的信号和ARM读到的数据是匹配的,也就是说,现在读到的数据错误与flash输出是匹配的,应该是flash输出有问题。
整片擦除和部分擦除,都试过,问题依旧。
硬件上,电源、时序都正常。
请问,这个问题的可能原因是啥?程序配置不对吗?谢谢!!
|