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.
Eine Internetsuche liefert als einen der ersten Treffer: https://github.com/ilyakurdyukov/ch341tool "CH341A/B progammer command line tool", laut Doku für Windows und Linux.
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/
Dieter S. schrieb: > https://github.com/ilyakurdyukov/ch341tool Das sieht leider recht unausgegoren aus. sudo ./ch341tool read 512 test.bin liefert: bad command Christoph db1uq K. schrieb: > https://www.flashrom.org/ Das war das erste, das ich getestet hatte. Mit so kleinen SPI EEproms kann der aber nichts anfangen.
Andreas B. schrieb: > > Das sieht leider recht unausgegoren aus. > sudo ./ch341tool read 512 test.bin > liefert: > bad command > Laut Doku hat "read" vier Parameter: reading: `read addr size filename'
:
Bearbeitet durch User
Dieter S. schrieb: > Laut Doku hat "read" vier Parameter: Ahh, sorry. Ist schon spaet hier. Das scheint zu funktionieren. Zumindest schreibt er jetzt eine Datei. Ich teste es morgen mal ausfuehrlich.
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.
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
:
Bearbeitet durch User
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
:
Bearbeitet durch User
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.
:
Bearbeitet durch User
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
Mal ein Feedback: Ich habe die 24-bit Addressierung bei https://github.com/ilyakurdyukov/ch341tool quick and dirty rausgeworfen (für read und write) und dann funktioniert es prima. Danke nochmal an Dieter S.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.