Hallo Ich habe mir ein Programmiergerät für Eproms und Flash-Eproms gebaut. Das funktioniert auch für für "normale" Eproms (2764 u.s.w.) Ich kann Flash EEproms, die aus alten Mainboards stammen auch einlesen, aber ich kann sie nicht löschen.:-( Nun habe ich festgestellt, daß die Kommandosequenzen zum Chip-Erase für fast alle Typen, die ich hier habe gleich sind. Als Beispiel habe ich den 29F002 "eingespannt". Hier ist nur das Stück Code, was den Chip löschen soll: Chiperase: 'Löschroutine '****Sector unprotect Reset Ce Reset Oe Set We Adresse = &H202 Daten = &H00 Gosub Writef '****Unlock Kommando Adresse = &H240 Daten = &H00 'Reset Ce 'Set Oe 'Reset We Gosub Writef '****Nochmal Unlock Adresse = &H240 Daten = &H00 'Reset Ce 'Set Oe 'Reset We Gosub Writef '*****SET UP Kommando Adresse = &H555 Daten = &HAA Gosub Writef Adresse = &H2AA Daten = &H55 Gosub Writef Adresse = &H555 Daten = &H80 Gosub Writef '****Nochmal Unlock Adresse = &H240 Daten = &H00 'Reset Ce 'Set Oe 'Reset We Gosub Writef '****Nochmal Unlock Adresse = &H240 Daten = &H00 'Reset Ce 'Set Oe 'Reset We Gosub Writef '****Erase Kommando Adresse = &H555 Daten = &HAA Gosub Writef Adresse = &H2AA Daten = &H55 Gosub Writef Adresse = &H555 Daten = &H80 Gosub Writef Adresse = &H555 Daten = &HAA Gosub Writef Adresse = &H2AA Daten = &H55 Gosub Writef Adresse = &H555 Daten = &H10 Gosub Writef For Adresse = 0 To 65535 Do Gosub Readf 'Daten = 255 'Zum Simulieren von gelöschten Daten Loop Until Daten = 255 Print Adresse ; Daten Next Return Writef: Gosub Setadress Config Porta = Output Waitus 10 Porta = Daten Waitus 10 Set Oe Reset We Waitus 10 Set We Waitus 10 Config Porta = Input 'Porta = &B11111111 Return Obwohl ich mich nach dem Datenblatt gerichtet habe, scheint die Abfolge der Befehle nicht zu stimmen. Ich bin leider des Englischen nicht mächtig und habe wahrscheinlich etwas übersehen. :-o Ratlos Paul
Hallo, ich habe mal in den ASM-Code des Eprommers von http://s-huehn.de/elektronik/epromprog/epromprog.htm reingeschaut. Er schickt für den 29F010 und 29F040: Adresse - Daten 0x0555 - 0xAA 0x02AA - 0x55 0x0555 - 0x80 0x0555 - 0xAA 0x02AA - 0x55 0x0555 - 0x10 anschließend wartet er, bis der Flash sich fertig meldet. Laut Datenblatt sieht es beim 29F002 eigentlich genauso aus? Vielleicht hilft es Dir ja. Gruß aus Berlin Michael
Stimmen denn die Spannungen laut Datenblatt ? Ältere Flash brauchten noch 12V zum Proggen. Peter
Ich habe den Programmer von Scott Falk Hühn nachgebaut und er funktioniert mit den dort angegebenen Typen tadellos. Ich habe hier aber noch viele andere Flash´s, die ich aus alten Mainboards geerntet habe. Z.B. 49F002 39F20 29EE010 29EE011 29F002 29C51002 29C020 Die lassen sich alle nicht löschen, obwohl die Löschroutine die gleiche wie beim 29F040 ist. Da ich mit Assembler nicht so gut zurecht komme, habe ich ein Bascom-Programm für das Gerät von Scott geschrieben, was auch funktioniert. Nun geht es mir darum, eine Sequenz zu haben, die vor dem eigentlichen Chip-Erase Kommando gesendet werden muß, um die Dinger zu "entlocken". Deshalb habe ich auch nur den Teil des Programmes gesandt, der die Löschprozedur enthält. MfG Paul
Paul Baumann wrote: > 49F002 > 39F20 > 29EE010 > 29EE011 > 29F002 > 29C51002 > 29C020 Das sind alles nur halbe Bezeichnungen, damit kann keiner was anfangen. Nimm die komplette Bezeichnung, lade Dir das Datenblatt runter und dann schau nach, wie die gelöscht werden bzw. ob sie dazu 12V brauchen. Peter
@Peter Geniale Idee. ;-) Das habe ich schon längst getan, nur schrieb ich schon weiter oben, daß ich mit dem Algorithmus für das "Entschützen" nicht klar komme. Ich habe es bei den Typen, die 12 Volt vertragen auch schon damit versucht. Erfolg:dito.
Und wie soll Dir jemand helfen, wenn Du die Typen nicht nennst ? Es kommt dabei wirklich auf jeden Buchstaben an und natürlich auf den richtigen Hersteller. Von 12V vertragen war nie die Rede, sondern von 12V benötigen. Peter
Also gut, hier noch einmal in voller Pracht: W29C020-90 Winbond W49F002U Winbond EN29F002NT EON PH29EE010 SST 39SF020 MPF W29EE011 Winbond AE29F1008 ASD MX28F1000PPC Maxim? V29C51002T ? Die Datenblätter stammen alle von: http://www.alldatasheet.com/ Es gibt hierbei welche, die mit 12 Volt programmiert werden können, aber nicht müssen. Wenn sie mit 12 Volt (kommen so wie ich miche erinnere an Adressanschluß A6 und A9) programmiert wurden, lassen sie sich auch nur mit Hochspannung "entschützen". Wurden sie als neue Chips nur mit TTL-Pegel bearbeitet, so lassen sie sich auch damit wieder löschen.
Da hat der große Meister nun alle Angaben und kann auch nicht helfen. LACH @Paul Ich habe irgendwo gelesen, daß jemand im laufenden Betrieb den BIOS-Chip seines PC herausgezogen und gegen den leeren Chip getauscht hat. Dann konnte er das mit dem Bios-Flashprogramm neu bespielen. Sigma N.
Sigma N. wrote: > Da hat der große Meister nun alle Angaben und kann auch nicht helfen. > *LACH* Es ging mir nur darum, das ja vielleicht jemand die Chips schon benutzt hat und dazu muß man schon wissen, um welche es überhaupt geht. Ich habe z.B. den AT29C020 benutzt, aber hier geht es ja um den W29C020. Der AT29C020 kann jedenfalls den Bootlock nicht rücksetzen und auch ein Full-Erase geht nicht mehr. Nur die anderen Blöcke lassen sich einzeln löschen und beschreiben. Wie das nun beim W29C020 ist, weiß ich natürlich nicht. Peter P.S.: Ein Bootlock wäre ja auch relativ sinnfrei, wenn er sich rücksetzen ließe.
@Peter Im Datenblatt des AT29C020 sehe ich auf Seite 10 rechts den Ablaufplan für das Löschen des Bootblocks..... Der W29C020 hat bei allen Aktionen die gleichen Befehlsfolgen wie der AT29C020. @Paul Wo nimmst Du Deine Unlock-Befehlsfolgen her? Die stimmen so nicht. Sigma N.
@Sigma Der Code oben ist für einen 29F002. Da ist es wieder anders. Ich habe jetzt mal die Sequenz aus dem Datenblatt des AT29C020 auf eben diesem getestet. --->funktioniert nur bei fabrikneuen :-( Ich werfe den Mist in die Tonne und nehme werksneue, die gehen prima zu beschreiben und auch wieder zu löschen. MfG Paul
Der code kommt mir irgendwie bekannt vor. Komisch kannst du mit einem neuen COntroller mal testen, ob das schreiben überhaupt funktioniert? Es brauch nur eine adressleitung zu fehlen zb und schon funzt das nicht mehr
BTW das löschen mit meiner check-routine dauert ca 20sekunden bei mir (f040)
@Sebastian Ja, ich habe einen großen Teil Deines Codes verwandt und ihn auf die Schaltung von S.Hühn angepaßt. (Bitte nicht hauen :-)) Das funktioniert auch mit werksneuen Schaltkreisen. Aber eben mit solchen nicht, die den Bootblock "festgeklemmt" haben. Jetzt versuche ich verzweifelt, den Bootblock zu "entlocken", um diese alten BIOS EEproms zu leeren und neu zu bespielen. MfG Paul
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.