跳转到主要内容

SPI数据闪存设备驱动程序(纯Python)

项目描述

Python package build status

SPI数据闪存设备驱动程序(纯Python)

SPI闪存设备,也称为数据Flash,通常用于嵌入式产品中,用于存储固件、微代码或配置参数。

PySpiFlash提供了几个针对这些闪存设备的纯Python驱动程序,这些驱动程序展示了如何使用PyFtdi与SPI设备一起使用。它还可以用于导出闪存内容或从损坏的设备中恢复。

支持的SPI闪存设备

供应商

Atmel

Atmel

Macronix

SST

Winbond

Micron

DataFlash

AT45

AT25

MX25L

SST25

W25Q

N25Q

状态

测试

测试

测试

测试

测试

测试

大小(MiB)

2,4

2,4,8

2,4,8,16

2,4

2,4

8

读取(KiB/s)

1278

1279

1329

642

1252

1315

写入(KiB/s)

56

64

71

2

63

107

擦除(KiB/s)

60

63

31

500

60

84

关于性能的说明

  • 读取操作与SPI总线时钟同步:因此它只取决于SPI总线可达到的频率,这取决于闪存设备支持的最高频率。

  • 写入操作主要依赖于闪存设备性能,其上限主要来自设备最大的写入数据包大小,因为设备需要在每个数据包之后被轮询以完成:数据包越短,SPI上的流量和相关的开销就越高。

  • 擦除操作主要依赖于闪存设备性能,其完全依赖于闪存设备的内部技术,因为在SPI总线上交换的非常少且数据包很短。

支持系列‘25’的新闪存设备

许多闪存设备支持读取/写入/擦除操作的常见子集。在锁定和保护功能以及安全功能方面存在关键差异。通常需要NDA才能获取这些设备高级安全功能的详细信息。

不过,添加对新闪存设备变体的支持应该相当简单

  • 在PyFtdi闪存设备API中,应该首先查看的match方法以检测更多兼容的闪存设备。

支持的SPI闪存命令

识别

基于检测到的SPI闪存设备自动选择SPI设备驱动程序

读取

从SPI闪存设备读取任何大小的字节序列,起始位置可以是任何位置

写入

将任意大小的字节序列写入SPI闪存设备,起始位置可以是任何位置

擦除

擦除SPI闪存设备块,其大小取决于闪存设备的能力,通常是4KiB和/或64KiB。

解锁

解锁任何受保护的闪存设备扇区

依赖关系

  • 需要Python 3.5或更高版本。

  • 需要PyFTDI 0.42或更高版本。

关于先前版本的通知

如果您别无选择,只能使用先前版本的Python(包括Python 2.x)或PyFTDI,请检查最新版本的PySpiFlash 0.4.1,它提供对这些已弃用的环境的支持,但不再积极维护。

PySpiFlash严重依赖于PyFtdi模块以访问SPI闪存设备。PyFtdi API已更改多次,请参见下面的兼容性矩阵。

setup.py脚本应负责这些依赖项。

PySpiFlash版本

PyFtdi版本

0.2.*

0.9 .. 0.10

0.3.*

0.11+

0.4.*

0.13.2+

0.5.*

0.20.0+

0.6.*

0.42.0+

项目详细信息


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分布

pyspiflash-0.6.3.tar.gz (16.0 kB 查看哈希值)

上传时间

构建分布

pyspiflash-0.6.3-py35-none-any.whl (16.3 kB 查看哈希值)

上传时间 Python 3.5

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面