Hallo, ich bin gerade dabei ein Programmiergerät für Flash Chips zu bauen. Bei der Programmierung stellt sich mir gerade eine kleine Frage bezüglich den Commands, die die Chips bekommen. Gibt es bei den Commands irgendwelche (quasi) Standards, an die sich die Hersteller halten oder kocht da jeder sein eigenes Süppchen? Gerade habe ich ein paar AM29F040 und SST29EE020 hier zum testen. Diese haben beispielsweise die selbe Sequenz für den Chip-erase. Ich würde die software aber am liebsten möglichst flexibel schreiben, um einfach andere Chips beschreiben zu können.
Nico K. schrieb: > Hallo, > > ich bin gerade dabei ein Programmiergerät für Flash Chips zu bauen. Welchen Typ Flash Chips? NAND flash oder NOR flash? Falls letzteres: paralleles Interface, LPC, FWH, oder SPI? Willst du Sockel für die jeweiligen Packages in denen es die Chips gibt auf den Programmer packen (DIP-8, PLCC32, DIP32, andere)? Ich habe auch änhliches vor, im Moment einen FTDI FT2232H-basierten USB-Programmer der nur SPI-Chips unterstützt (DIP-8 Sockel), später eine flexiblere Variante für weitere Chiptypen wenn der erste mal läuft: http://randomprojects.org/wiki/Openbiosprog-spi http://randomprojects.org/wiki/Openbiosprog Das Ganze wird natürlich ein Open Hardware Projekt, d.h. Schaltpläne und PCB Layouts stehen unter einer freien Lizenz (CC-BY-SA 3.0) und werden mit freier Software erstellt (Kicad in diesem Fall). > Bei > der Programmierung stellt sich mir gerade eine kleine Frage bezüglich > den Commands, die die Chips bekommen. > Gibt es bei den Commands irgendwelche (quasi) Standards, an die sich die > Hersteller halten oder kocht da jeder sein eigenes Süppchen? Teilweise, aber mit vielen Ausnahmen. Die entspr. Datenblätter haben die jeweiligen Infos, falls sie nicht gerade inkorrekt sind (sind die ab und an mal). > Gerade habe ich ein paar AM29F040 und SST29EE020 hier zum testen. Diese > haben beispielsweise die selbe Sequenz für den Chip-erase. Ich würde die > software aber am liebsten möglichst flexibel schreiben, um einfach > andere Chips beschreiben zu können. Schau dir mal flashrom an, ist ein Open-Source Linux-Tool (läuft inzwischen aber auch auf FreeBSD, Solaris, DOS, und demnächst evtl. auch auf Windows) das über 200 Chips, diverse Mainboards als "Programmer" und verschiedene "externe Programmer" unterstützt. Ist in C geschrieben, Lizenz ist die GNU GPL. http://flashrom.org Es wäre (IMHO) sinnvoll für deinen Programmer flashrom-Support zu schreiben, dann kannst du auf einen Schlag diese 200 verschiedenen Chips lesen/löschen/schreiben. Es wird derzeit daran gearbeitet, dass der Code auch standalone oder als Library kompiliert werden kann damit man (Teile davon) auch direkt auf einem Mikrocontroller verwenden könnte (nicht auf dem Host). Uwe.
hey danke flashrom.org sieht echt vielversprechend aus... ich denke da kann ich sicher etwas damit anfangen. ursprünglich ist mein programmer für parallele chips gedacht. aber da ich für den target chip eine extra platine vorgesehen habe kann man natürlich fast alles implementieren und eine entsprechende target platine entwerfen. I2C, SPI, 1Wire usw.. ich werde das projekt natürlich auch veröffentlichen wenn es langsam funktionsfähig wird ;-) Nico
Hi, kurzes Update, mein SPI-Chip Flasher ist inzwischen fertig und funktioniert ganz gut: http://randomprojects.org/wiki/Openbiosprog-spi Uwe.
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.