5.4.1. 模块介绍

SPI NOR 的操作基于 SFUD 库实现。

5.4.1.1. SFUD 是什么

SFUD 是一款开源的串行 SPI Flash 通用驱动库。由于现有市面的串行 Flash 种类居多,各个 Flash 的规格及命令存在差异, SFUD 就是为了解决这些 Flash 的差异现状而设计,让我们的产品能够支持不同品牌及规格的 Flash, 提高了涉及到 Flash 功 能的软件的可重用性及可扩展性,同时也可以规避 Flash 缺货或停产给产品所带来的风险。

5.4.1.2. SFDP 是什么

SFDP 是 JEDEC (固态技术协会)制定的串行 Flash 功能的参数表标准,最新版 V1.6B, 可以查看 SFDP。该标准规定了,每个 Flash 中会存在一个参数表,该表中会存放 Flash 容量、写粒度、擦除命令、地址模式等 Flash 规格参数。目前,除了部分厂家旧款 Flash 型号会不支持该标准,其他绝大多数新出厂的 Flash 均已支持 SFDP 标准。所以该库在初始化时会优先读取 SFDP 表参数。