littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于C语言的串行Flash通用驱动库

项目简介

SFUD(Serial Flash Universal Driver)是一款开源的串行SPI Flash通用驱动库。该库的目标是解决市面上不同品牌和规格的Flash之间的差异,使产品能支持多种Flash,提升软件的可重用性与可扩展性,同时规避Flash缺货或停产带来的风险。

项目的主要特性和功能

  • 面向对象:支持多个Flash对象,灵活性高。
  • 可裁剪:能根据需求灵活调整资源占用。
  • 扩展性强:支持4字节地址,适应不同规格的Flash。
  • 资源占用低:标准占用RAM 0.2KB,ROM 5.5KB;最小占用RAM 0.1KB,ROM 3.6KB。
  • 支持SFDP标准:优先读取SFDP参数表,不支持的Flash可通过配置文件添加参数。
  • 丰富的API:提供初始化、读取、写入、擦除、状态读取和写入等API。
  • 多平台支持:已支持STM32F10X裸机平台和STM32F2XX + RT - Thread操作系统平台。

安装使用步骤

假设用户已经下载了本项目的源码文件,可按以下步骤使用: 1. 配置Flash设备:在/sfud/inc/sfud_cfg.h中配置Flash设备表,定义将要使用的Flash设备。 2. 初始化SFUD库:调用sfud_init()函数初始化SFUD库。 3. 获取Flash设备对象:使用sfud_get_device()函数获取Flash设备对象,通过设备表中的索引值来访问指定的设备。 4. 操作Flash:使用提供的API进行读取、写入、擦除等操作。例如,使用sfud_read()读取数据,使用sfud_write()写入数据,使用sfud_erase()擦除数据。 5. 移植SPI接口:根据目标硬件平台,在/sfud/port/sfud_port.c中实现SPI接口的初始化和读写操作。

通过以上步骤,可轻松在项目中集成和使用SFUD库,实现对多种串行Flash的通用驱动。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】