Bootstrap

SPI Flash调试遇到的一些问题

本文记录一下调试AT25DF321A闪存存储器遇到的一些问题。

AT25DF321A,支持SPI模式0和3,4MB = 64 Sector x 64KB,page = 256B,先擦再写。

问题:读出的厂商ID一直为0xFFFFFF
原因:接线错误导致!!主机的MISO应连接从设备Flash的SO,主机的MOSI应连接从设备Flash的SI。(啊 非常初级的错误)
 
问题:可读出厂商ID=0x1F4701,写Flash后读出为0xFF
原因:仔细看芯片手册,AT25DF321A有硬件扇区保护
解决:先写write_enable命令,再发送write_status_reg_cmd(0x01)、0x00,实现global unprotect
 
问题:BlockErase(64KB),0xD8指令,擦除扇区无效?
原因:等待时间长;擦除后需要等待至少400ms再读写。

;