SPI EEprom 25LC040

OP #7681426
Lesenswert?

Kennt jemand einen Weg (suche Windows sowie Linux Lösung) um ein SPI EEprom 25LC040 über die Kommandozeile zu programmieren und auszulesen? CH341A Adapter ist vorhanden. Mit der CH341A_Programmer.exe funktioniert das prima, aber ich suche halt etwas, das ich in eigener SW ohne viel Aufwand einbinden kann.

#7681443
Lesenswert?

Synaptic listet außer dem uralten Ponyprog noch das:

https://www.flashrom.org/ aber in der Liste der supported Devices steht nirgends Microchip https://github.com/flashrom/flashrom/blob/main/flashchips.c Aber PICkit2 als Programmer: https://www.flashrom.org/classic_cli_manpage.html?highlight=microchip

und speziell nur für Xilinx https://xc3sprog.sourceforge.net/

OP #7682107
Lesenswert?

Gerade mal getestet: Lesen: Es fehlen die ersten beiden Bytes Schreiben: Absoluter Müll.

Es hätte mich auch gewundert, wie das funktionieren soll, ohne irgendwelche EEprom typen anzugeben. Der 25LC040A ist ein EEprom im SOT23-6 (sorry, das A oben vergessen. Das dürfte aber nicht viel ändern). Da gibt es auch keine IDs zum Auslesen, wo er selbst irgend etwas erkennen könnte.

#7682121
Lesenswert?

Moin,

in 2005 machte ich ein AVR Projekt (ATMEGA644) mit einem 25LC640 drin. Damals arbeitet ich mit CodeVision AVR und der hat fertige Bibliotheken dafür und alles funktionierte damals auf Anhieb. Falls man diesen Weg gehen möchte, kann man sich eine Demoversion herunterladen um davon Gebrauch zu machen. Mit CVAVR arbeitet es sich gut.

Auf GITHUB gibt es auch eine Aduino Version:

https://github.com/wollewald/EEPROM_SPI_WE

ist wahrscheinlich der leichteste Weg, schnell zu Resultaten zu kommen. Dort steht, daß der Autor auch den LC04 getestet hatte. Mir kommt es vor, daß dies exakt ist, nachdem Du suchst, vorausgesetzt, Arduino Dich nicht zwingt, Dir die Nase zuzuhalten;-)

Gerhard

#7682132
Lesenswert?

Andreas B. schrieb:

Gerade mal getestet: Lesen: Es fehlen die ersten beiden Bytes Schreiben: Absoluter Müll.

So wie es aussieht geht das Tool von drei Addressbytes bei den SPI Kommandos aus. Der 25LC040 (512 Bytes) hat nur ein Addressbyte und das MSB der 9-Bit Adresse ist ins READ/WRITE Kommando gepackt.

Das könnte man vermutlich bei Bedarf relativ einfach anpassen.

Nachtrag: eventuell ist das ja besser, das Tool verweist darauf:

https://github.com/setarcos/ch341prog

OP #7682137
Lesenswert?

Gerhard O. schrieb:

in 2005 machte ich ein AVR Projekt (ATMEGA644) mit einem 25LC640 drin.

Es geht um das Schreiben am PC, nicht mit dem uC. Das habe ich schon (LPC824).

Dieter S. schrieb:

Das könnte man vermutlich bei Bedarf relativ einfach anpassen.

Ja, das dachte ich mir zuerst auch. Nur das Schreiben macht mir da mehr Sorgen. Wenn ich Zeit habe, muss ich mir das dann doch mal reinziehen, wenn es keine fertige Loesungen fuer kleine EEproms gibt.

Dieter S. schrieb:

Nachtrag: eventuell ist das ja besser, das Tool verweist darauf:

https://github.com/setarcos/ch341prog

Danke! Das schaue ich mir auch mal an.

#7682169
Lesenswert?

Andreas B. schrieb:

Ja, das dachte ich mir zuerst auch. Nur das Schreiben macht mir da mehr Sorgen. Wenn ich Zeit habe, muss ich mir das dann doch mal reinziehen, wenn es keine fertige Loesungen fuer kleine EEproms gibt.

Auf den ersten Blick hat das Tool beim Schreiben nur das selbe Problem mit der Adresse wie beim Lesen, der Rest könnte soweit passen. Man kann mit einem Parameter die Größe der Page angeben, damit sollte man flexibel genug sein (wenn die Adresse stimmt).

Hier gibt es eine Sammlung von Software für den CH341A, allerdings ist für Linux nicht viel anderes dabei:

https://github.com/YTEC-info/CH341A-Softwares

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren