====== I2C EEPROM Inhalt lesen ====== Hierbei geht es darum, einen I2C EEPROM (z.B.[[http://www.atmel.com/Images/doc0105.pdf | 24C16]]) auszulesen, ohne den IC auslöten zu müssen. Hierbei wird die I2C Kommunikation mittels eines [[http://www.saleae.com/logic16/ | USB-Logicanalyzers]] aufgezeichnet und anschließend ausgewertet. \\ Nach der Auswertung soll eine Binärdatei geschrieben werden, die den Inhalt des I2C EEPROM wiederspiegelt. ===== Aufzeichnung der Daten ===== {{ :projekte:24c16_logic16.jpg?550 |}} SDA und SCL anzapfen und aufzeichnen. {{ :projekte:i2c_logic16_1.png?550 |}} Die Aufgezeichneten Daten können als CSV exportiert werden und sehen dann folgendermaßen aus: Time [s],Packet ID,Address,Data,Read/Write,ACK/NAK 1.07048272,2,0xAE,0x00,Write,ACK 1.07078708,3,0xAF,0xFF,Read,NAK 1.07116376,4,0xAE,0x00,Write,ACK 1.07146836,5,0xAF,0xFF,Read,NAK 1.07184516,6,0xAE,0x00,Write,ACK 1.0721494,7,0xAF,0xFF,Read,NAK 1.07282372,8,0xA0,0x14,Write,ACK 1.07312836,9,0xA1,0x00,Read,ACK 1.07325876,9,0xA1,0xC2,Read,ACK ... ===== Auswertung der Daten ===== Mittels {{:projekte:i2c_flash_reverse.py.gz|diesem}} Python script habe ich versucht die I2C Daten aus der CSV Datei auszuwerten und in eine Binärdatei zu schreiben. ===== Links ===== * {{:projekte:i2c_flash_reverse.py.gz}} * [[http://www.atmel.com/Images/doc0105.pdf | 24C16 Datenblatt]] * [[http://www.saleae.com/logic16/ | Logic16 USB-Logicanalyzer]]