spi数据闪存设备驱动程序(纯python)

pyspiflash的Python项目详细描述


spi数据闪存设备驱动程序(纯python)

spi闪存设备,也称为dataflash常见于嵌入式 存储固件、微码或配置参数的产品。

PySpiFlash为那些flash设备提供了几个纯python驱动程序 演示如何与PyFtdi一起使用spi设备。倾倒也可能有用 闪存内容或从砖砌设备恢复。

支持的SPI闪存设备

VendorAtmelAtmelMacronixSSTWinbondEonNumonixMicron
DataFlashAT45AT25MX25LSST25W25QEN25QM25PN25Q
StatusTestedTestedTestedTestedTestedNot testedNot testedTested
Sizes (MiB)2,42,4,82,4,8,162,42,48
Read (KiB/s)12781279132964212521315
Write (KiB/s)566471263107
Erase (KiB/s)6063315006084

有关性能的注释

  • read操作与spi总线时钟同步:因此它只依赖于 在spi总线上达到的频率 闪存设备的支持频率。
  • write操作主要取决于闪存设备的性能,其上限 限制主要来自设备的最大写入数据包大小,如 设备需要在每个包之后进行轮询以完成:越短的 数据包,spi上较高的流量和相关的开销。
  • erase操作主要取决于flash设备的性能,其完全依赖于 取决于flash设备的内部技术,非常少而且很短 数据包通过spi总线交换。

支持新的“25”系列闪存设备

许多闪存设备支持一个用于读/写/擦除操作的公共子集。 在锁定和保护功能以及 安全特性。保密协议通常要求获得 这些设备的高级安全功能。

不过,添加对新闪存设备的支持应该很容易 变型:

  • match应该首先查找pyftdi flash设备api中的方法 以检测更多兼容的闪存设备。

支持的SPI闪存命令

标识
根据检测到的spi自动选择spi设备驱动程序 闪存设备
读取
从spi的任意位置开始读取任意大小的字节序列 闪存设备
写入
从任意位置开始,将任意大小的字节序列写入 SPI闪存设备
擦除
擦除spi闪存设备块,其大小取决于 闪存设备,通常为4kib和/或64kib。
解锁
解锁所有受保护的闪存设备扇区

依赖关系

  • Python3.5或更高版本是必需的。
  • PyFTDI0.20或更高版本是必需的。

有关以前版本的注释

如果您别无选择,只能使用早期版本的python(包括python 2.x)或PyFTDI,请查看最新的PySpiFlash0.4.1,它提供 支持这些已弃用的环境,但不再是主动的 保持。

PySpiFlash严重依赖PyFtdi模块来访问spi闪存设备。 已多次更改PyFtdiapi,请参见兼容性矩阵 下面。

setup.py脚本应该处理这些依赖项。

PySpiFlash versionPyFtdi version
0.2.*0.9 .. 0.10
0.3.*0.11+
0.4.*0.13.2+
0.5.*0.20.0+

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将asynchttpclient作为maven项目发送异步post请求并运行   java无法查找JNDI   java NavigationView仅在   实现ApplicationListener的java Spring控制器   java如何在Maven项目的类路径中设置TestNG?   JSTL<c:if>标记中的java测试属性   java Show toast错误并在没有可用连接时阻止显示webview   java多线程中的并发性   如何使用java获取一个月的第一个星期日   java spring安全性angularjs 403   maven SASS的Java实现?   Android上的java MD5怪异行为   java shutdownNow()然后重新调度ScheduledThreadPoolExecutor:如何?   java如何在读取文本文件后生成数组