Skip to main content

I2C eeprom device drivers (pure Python)

Project description

Python package build status

I2C eeprom device drivers (pure Python)

I2C flash devices, also known as DataFlash are commonly found in embedded products, to store firmware, microcode or configuration parameters.

PyI2CFlash comes with several pure Python drivers for those flash devices, that demonstrate use of I2C devices with PyFtdi. It could also be useful to dump flash contents or recover from a bricked devices.

Supported I2C flash devices

Vendor Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip
EEPROM 24AA01 24AA02 24AA04 24AA08 24AA16 24AA32A 24AA64 24AA128 24AA256 24AA512
Status ? ? No No No Ok ? ? ? ?
Size 128 256 512 1Ki 2Ki 4Ki 8Ki 16Ki 32Ki 64Ki

Notes about performances

  • Read operation is synchronous with I2C bus clock: it therefore only depends on the achievable frequency on the I2C bus, which is bound to the highest supported frequency of the flash device.
  • Write operation depends mostly on the flash device performance, whose upper limit comes mostly from the maximum write packet size of the device, as the device needs to be polled for completion after each packet: the shorter the packet, the higher traffic on the I2C and associated overhead.

Notes about 24AA32

This device is declared obsolete by the manufacturer and is not supported.

Only 24AA32A revision is supported.

Supported I2C flash commands

Read
Read byte sequences of any size, starting at any location from the I2C flash device
Write
Write arbitrary byte sequences of any size, starting at any location to the I2C flash device

Dependencies

  • Python 3.5 or above is required.
  • PyFtdi 0.42 or above is required.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyi2cflash, version 0.2.2
Filename, size File type Python version Upload date Hashes
Filename, size pyi2cflash-0.2.2-py35-none-any.whl (7.2 kB) File type Wheel Python version py35 Upload date Hashes View
Filename, size pyi2cflash-0.2.2.tar.gz (7.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page