SFUD

SFUD (Serial Flash Universal Driver) 是一款開源的串列 SPI Flash 通用驅動庫。

基本介紹

  • 軟體名稱:SFUD
  • 軟體平台:PC/嵌入式MCU
  • 軟體版本:V1.1.0
  • 更新時間:2018-12-27
  • 軟體語言:C
  • 軟體大小:RAM:0.1KB ROM:3.6KB
  • 軟體授權:MIT 協定
產生背景,主要功能,設計思路,常見套用場景,使用說明,

產生背景

由於現有市面的串列 Flash 種類居多,各個 Flash 的規格及命令存在差異,SFUD 就是為了解決這些 Flash 的差異現狀而設計,讓產品能夠支持不同品牌及規格的 Flash,提高了涉及到 Flash 功能的軟體的可重用性及可擴展性。

主要功能

SFUD(Serial Flash Universal Driver)是一款開源的串列 SPI Flash 通用驅動庫。
  • 主要特點:支持 SPI/QSPI 接口、面向對象(同時支持多個 Flash 對象)、可靈活裁剪、可擴展、支持 4 位元組地址
  • 資源占用
  • 標準占用:RAM:0.2KB ROM:5.5KB
  • 最小占用:RAM:0.1KB ROM:3.6KB

設計思路

SFUD使用的是SFDP標準,它是 JEDEC (固態技術協會)制定的串列 Flash 功能的參數表標準 。該標準規定每個 Flash 中存在一個參數表,該表中會存放 Flash 容量、寫粒度、擦除命令、地址模式等 Flash 規格參數。目前,除了部分廠家舊款 Flash 型號會不支持該標準,其他絕大多數新出廠的 Flash 均已支持 SFDP 標準。

常見套用場景

  • 使用 SFUD 即可避免在相同功能的軟體平台基礎下,無法適配不同 Flash 種類的硬體平台的問題;
  • 簡化軟體流程,降低開發難度。配置好 SPI 通信,即可驅動 SPI Flash ;
  • 用於製作 Flash 編程器/燒寫器

使用說明

SFUD已經在眾多 Flash上完成真機測試,詳見下表。表中顯示為不支持SFDP 標準的 Flash同樣可以使用SFUD ,因為其 Flash 參數已經在Flash 信息表中定義,詳見 GitHub 倉庫。
型號容量最高速度SFDP 標準QSPI 模式備註
W25Q40BV
4Mb
50Mhz
不支持
雙線
已停產
W25Q80DV
8Mb
104Mhz
支持
雙線
W25Q16BV
16Mb
104Mhz
不支持
雙線
slipperstree
W25Q16CV
16Mb
104Mhz
支持
未測試
W25Q16DV
16Mb
104Mhz
支持
未測試
slipperstree
W25Q32BV
32Mb
104Mhz
支持
雙線
W25Q64CV
64Mb
80Mhz
支持
四線
W25Q128BV
128Mb
104Mhz
支持
四線
W25Q256FV
256Mb
104Mhz
支持
四線
MX25L3206E
32Mb
86MHz
支持
雙線
KH25L4006E
4Mb
86Mhz
支持
未測試
JiapengLi
KH25L3206E
32Mb
86Mhz
支持
雙線
SST25VF016B
16Mb
50MHz
不支持
不支持
SST 已被 Microchip 收購
M25P40
4Mb
75Mhz
不支持
未測試
redocCheng
M25P80
8Mb
75Mhz
不支持
未測試
redocCheng
M25P32
32Mb
75Mhz
不支持
不支持
EN25Q32B
32Mb
104MHz
不支持
未測試
GD25Q16B
16Mb
120Mhz
不支持
未測試
TanekLiang
GD25Q64B
64Mb
120Mhz
不支持
雙線
S25FL216K
16Mb
65Mhz
不支持
雙線
S25FL032P
32Mb
104Mhz
不支持
未測試
yc_911
S25FL164K
64Mb
108Mhz
支持
未測試
A25L080
8Mb
100Mhz
不支持
雙線
A25LQ64
64Mb
104Mhz
支持
支持
F25L004
4Mb
100Mhz
不支持
不支持
PCT25VF016B
16Mb
80Mhz
不支持
不支持
SST 授權許可,會被識別為 SST25VF016B
AT45DB161E
16Mb
85MHz
不支持
不支持
ADESTO 收購 Atmel 串列快閃記憶體產品線
深入使用需查閱API文檔、移植說明,詳見GitHub首頁介紹

相關詞條

熱門詞條

聯絡我們