文章目录
- 基本认知
- spi flash读写介绍
- nor flash的特性
基本认知
-
SPI Serial PeriPheral interface 串行外围设备接口,SPI接口主要引用在EEPRom、Flash、实时时钟、AD转换器、还有数字信号处理器和数字信号解码器之间。SPI总线系统是一种同步串行外设接口,可以使得MCU与外围设备以串行方式进行通讯。
-
flash按照内部存储结构不同,分为:nor flash是采用数据串行通信;nand flash是采用数据并行通信。spi flash是串行通信接口的nor flash,一般来说,stm32的spi flash用来做数据存储器来使用,spi flash是片外扩展存储的方法。
-
早期的nor flash的接口是并行的形式,也即是把数据线和地址线并排与IC的管脚连接,但是后来发现不同的容量的nor flash数据线和地址线数量不一样,不能在硬件上兼容,而且封装比较大,占用较大的pcb版的位置,所以后来组件被spi串行接口的nor flash 取代。
spi flash读写介绍
-
对于flash芯片的操作,一般包括对flash芯片的擦除,编程和读取,当拿到一款芯片,要特别注意芯片的容量,操作分区等。无论是对芯片的擦除、编程、还是读取,大致的思路都是“写命令——写地址——写数据”
-
写入flash的时候,只能把数据bit从1改为0。
-
flash擦除一个扇区后,这个删除就会全部变成0xff,对于flash的数据写,要确保元数据是0xff的前提才能写入新数据,如果原数据是0x00是不能写入新数据的。
-
不同的SPI FLASH芯片可能会提供的擦除方式:扇区擦除(4KBytes),半块擦除(32KBytes),块擦除(64KBytes),片擦除;不同的SPI FLASH芯片可能会提供的编程方式(也就是写数据):页编程(256Bytes),扇区编程(4KBytes)。
nor flash的特性
-
芯片内执行XIP execute in place
这样应用程序可以海子街在flash闪存内运行,不必要把代码写到系统RAM中 -
nor的传输效率很高
-
nor flash带有SRAM的接口,有足够的地址引脚来寻址,很容易地获取其内部的每一个字节。