• 7
  • 7月

小结一下SPIFlash,以便更好地兼容更多的SPIFlash

首先从命令上:

常用的,SPIFlash都支持的,并且不同厂家都共有的命令有:
01 写状态寄存器
02 写
03 读
05 读状态寄存器
06 写使能
D8 擦除

在读FlashID上,不同厂家支持的命令略有不同,但一般可以通过以下四条命令进行尝试,来确定Flash的厂家及型号:
9F AB 90 15

在处理兼容性的过程中,最多的就是处理写命令。对于Flash来说,有Page-Program,有Byte-Program等。不同厂家对此的支持不同,有一些Page-Program还要求必须以2Byte的整数倍来进行编程。

其次,就是去除写保护了。有些Flash在上电的时候是写保护的,如果需要进行写操作,则需要对状态寄存器进行操作。

在写完状态寄存器后,最后能够WaitBusy,并且读取状态寄存器以确保顺利写入。

再次,就是写状态寄存器之前是否需要写状态寄存器使能了。部分Flash需要,写状态寄存器使能的命令为50。

总之,仔细阅读好厂家给的,或网上下载的SPIFlash的SPEC,SPIFLASH的兼容性应该是没有太大的问题的。