Forum: Mikrocontroller und Digitale Elektronik flash chip beschreiben


von Nico K. (brainhunter)


Lesenswert?

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.

von Uwe H. (uwehermann) Benutzerseite


Lesenswert?

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.

von Nico K. (brainhunter)


Lesenswert?

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

von Uwe H. (uwehermann) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.