Forum: Mikrocontroller und Digitale Elektronik M28P128 Erasefehler bei 0xf0000 mit TL866


von Christian K. (smith007)


Lesenswert?

Hallo zusammen,

ich habe da ein etwas merkwürdigen Effekt mit einem Flash M28P128 SOP16.

Dieser stammt aus einer Qnap TS419p+ die aktuell keine Reaktion mehr 
zeigt.
Hatte ich aus einer Umzugsaktion eines Bekannten geschenkt bekommen.


Soweit lässt sich das Teil einwandfei auslesen.
Hierzu benutze ich einen TL866A mit Software V 6.50 und FW.3.2.72
und einem SOP16 300mil Adapter.

Wollte jetzt die FW meiner funktionierenden TS419 aufspiel aber
wenn ich einen erase des Chips durchführe macht er das nur
bis zur Adresse 0xBFFFFF.

Die sektoren sind alle Non Protected und Write Reg WPEN ist 1.
"Off Protect before programming" ist auch aktiv.

Hab schon so einige versucht aber bei 0xF00000 ist Schluss.
Meine Frage ist hat der Chip ne Macke oder ist das ein Softwarebug des 
Programmers?

Wenn ich die aktuelle Firmware aufspiele ist der Vorgang immer Ok aber
beim Verify ist halt bei 0xF00000 immer ein Fehler.

Ich hab noch ein China USB AVR Programmer ProgISP 1.72 der in der 
Auswahlliste den M25P128 führt aber da wies ich nicht ob er per SPI auch 
den bedinen kann oder ob das nur indirekt geht.

Wüsste jetzt auch nicht, wie ich den Anschlusstechnisch an den Flash
anschliessen müsste.

Wollte jtzt keinen neuen Chip kaufen um hinterher festzustellen, dass es 
doch nicht der Chip ist. Sind zwar "nu" 10 Euro inkl. Versand, von daher 
meine Frage an euch ob da jemand einen Tip hat.

Gruß Christian

von Christian K. (smith007)


Lesenswert?

So,

Hier mal ein Nachtrag.

Heute kamen die neuen Chips und diese konnte ich einwandfrei
programmieren.

Da die Teile ja leer sind wenn sie neu sind habe ich mal
einen mit Zufallswerten programiert soweit so gut.

Allerdings beim Löschen blieben hier Reste ab 0xD80000 drin.
Ist schon ne komische Sache. Der Orginal hat gemoppert bei 0xF00000
und der neue schon bei 0xD80000.

Kann doch nicht sein das der auch platt ist oder?

: Bearbeitet durch User
von Christian K. (smith007)


Lesenswert?

Soo hab nun nach langem rumprobieren den Fehler gefunden.

Scheint ein Softwarebug zu sein.
Man muss hier erst den ganzen Bereich mit 0x00 Überschreiben,
dann kann man ihn löschen und normal neu beschrieben.

Vielleicht hilfreich für diejenigen,
die ähnliche Probleme mit der Softwareversion haben.

von Bernd (Gast)


Lesenswert?

Hallo Christian, dein Thread ist zwar schon etwas älter, aber ich 
versuchs trotzdem mal.
Ich muss einen W25Q64 neu beschreiben. Der TL866 hat ja die 
Chiperkennung. Die klappt soweit auch, ich muss dann nur noch die 
Gehäuseform (SOP8 oder 16) auswählen. Allerdings erkennt er die Chip-ID 
nicht. Ich kann den somit auch nicht programmieren, spuckt dort auch 
einen Error wegen der fehlenden ID aus.
Ich habe dann den 866 bei einem EN25Q64 getestet - ohne Probleme. Hast 
eine Idee? Grüße

von Christian K. (smith007)


Lesenswert?

Hallo Bernd,

du kannst ja beim TL866 auch die Chiperkennung abschalten.
Die letzte aktuelle Version ist ja die 6.50 und eine neuere gibt es 
derzeit noch nicht.

Wenn ich die Bezeichnung richtig deute ist es ein Winbound richtig?
Da gibt es ja eine Menge Subtypen wie CV/FV FW hast du da auch den 
richtigen gewählt? Welche Bauform hat dein Chip und ist es nun eine 8 
oder 16 Pin variante?

Nur zur Info. Bei den 1.8V Typen benötigst du noch einen Zusatzadapter.
Wähle mal den Typ aus und gehe dann im Hauptmenü auf Information, da 
siehst du was der Tl866 als Adapter fordert. Soweit ich das lese hast du 
aber ein
SOP Bauform das sind ja dann nicht die 1.8V Versionen.

Also wie schon gesagt du kannst auch die Chip-ID abschalten.
hier wähle dann mal den EN25Q64 unten link den Haken bei Check-ID raus
und programmiere ihn. SO nimmt der TL866 dann den Programmieralgorythmus 
des EN25Q64 und ignoriert die falsche Chip-Id.

Kann sein das das Modell noch nicht in deren Liste ist.
Wenn den Chip eingelegt hast und dann auf Chip-Read zeigt er normal an 
was er als ID erkannt hat. Steht oben links bei Produktinformation,
was plausibles drin?

Nebenbei benötigst du für die SOP16 einen Adapter für SOP8 nicht.
Gib doch bitte mal die genaue Bezeichnung und welche Bauform du da 
vorliegen hast, sofern das mit der Deaktivierung der ChipId-Eerkennung 
nicht funktioniert hat.

Gruß Christian

von Bernd (Gast)


Angehängte Dateien:

Lesenswert?

Halo Christian,

danke für deine schnelle Antwort.
Ich habe den W25Q64FVSIG mit 8 Pins (SOIC-8, 208 mil) 
(https://cdn.sparkfun.com/datasheets/Dev/Teensy/w25q64fv.pdf), den ich 
in MiniPro auch ausgewählt habe. Die Varianten habe ich natürlich auch 
schon durch.
Der EN25Q64 hat die selben Maße und wie gesagt, damit klappt es ohne 
Probleme.

Genauer gesagt habe ich 2x den W25Q64 Chip auf der Platine und der 
Fehler tritt bei beiden auf.

Ich benutze den Adapter für die Programmierung in der Schaltung 
(http://www.ebay.de/itm/112235892889).

Unter Options hatte ich die Chip-ID schon deaktiviert, allerdings kommt 
nach dem Schreiben folgender Fehler (siehe Bild1).

Wie gesagt, der 25 Flash Detect funktioniert (siehe Bild2).

>Wenn den Chip eingelegt hast und dann auf Chip-Read zeigt er normal an
was er als ID erkannt hat. Steht oben links bei Produktinformation,
was plausibles drin?

Nein, bleibt Leer.

Vielleicht hast du ja noch eine Idee.

Viele Grüße

von Christian K. (smith007)


Lesenswert?

Hi Bernd,

sehe grade, das du eine InCiruit-Programmierung machst.

Son Teil habe ich auch hier. Musst aufpassen das du den Connector
richtig herum auf den Adapter steckst. Der ist ja nur 8 Pol der Stecker 
aber 10 Pol. Hier muss das Rote Kabel auf Pin 1 gesteckt sein. Den 
ganzen Adapter wie auch die Zange kann man auch noch verkehrt herum 
draufstecken. Weiterhin können die Kontaktierungen je nach Qualität der 
Abgreifzange
teilweise zu tief liegen, so dass sie keinen oder nur teilweisen Kontakt 
zu den Chipbeinen haben. Hier bitte auch mal genau prüfen und ggf. mit 
einem Ohmmeter nachprüfen. Am besten dann das ganze am Adapter so weist 
du auch ob der richtig gesteckt ist und auch Polrichtig im Programmer 
liegt.

Sind also schon mal eine Menge Fehlerquellen.

Weil normal spukt der TL866 eigentlich immer eine Chip-ID aus,
da bei dir aber nix drin ist, sagt mein Bauchgefühl das der Chip keine 
korrekte Verbindung zum Programmer hat.

Sofern du das alles getestet bzw. ausgeschlossen hast können wir
zum nächsten Step gehen.

Wie ich sehe hast du das Löschen aktiviert beim Programmieren.
Wenn der Chip nicht vorher schon leer war dann bekommst du genau 
denselben Fehler wie bei mir mit dem M28P128.

Ein frischer Chip lässt sich so nur einmal programmieren (FF). Wo er 
dann beim 2. mal hängt ist das Erase. Er löscht ihn nicht wirklich, 
somit schlägt dann jede weitere Programmierung fehl.

Du wirst feststellen das du den Chip wahrscheinlich auch nicht löschen 
kannst bzw. er beim Verify dann sagt das er nicht leer ist.
Laut deiner Meldung sehe ich das er 0x35 schreiben will aber danach 0x00 
liest.

Mach mal folgendes.
Programmiere den Chip nur mit 0x00.
Mache ein Read, so dass du siehst das auch alle 00 sind.
Führe dann eine Erase aus.
Mache ein Read, so dass du siehst das auch alle FF sind.
Dann programmiere ihn neu und dann sollte es klappen.

Nur 0x00 reicht nicht du musst auch einen Erase ausführen,
da ich annehme das hier wohl der Bug ist und der Programmer nur dann
wirklich schreibt, wenn er 0xFF sieht. Sieht nach demselben Effekt aus 
wie bei mir mit dem M28P128.


Gruß Christan

von Bernd (Gast)


Lesenswert?

Hi Christian,

ich habe den Fehler gefunden. Es liegt tatsächlich am Stecker/Kabel. 
Zwei Kabel waren nicht mehr mit dem Stecker verbunden. Das erklärt auch, 
weshalb die Chiperkennung mal funktionierte und mal nicht. Die 
Verarbeitung ist echt schlecht, ich werde alles nachlöten. Die Chip-ID 
Erkennung funktionierte vorhin auch, aber jetzt ist erneut ein Kabel ab. 
Man darf das Teil nicht anfassen :-)
Vielen Dank für deine Mühe und Hilfe.

Viele Grüße

von Christian K. (smith007)


Lesenswert?

Hi Bernd,

keine Ursache immer gerne.

Schön das ich dir helfen konnte und du den Fehler gefunden hast.
Ja das hatte ich in einem anderen Forum auch gelesen
von daher viel mir das wieder ein.

Dann wünsche ich dir noch ein schönes Wochenende.

Gruß Christian

von Bernd (Gast)


Lesenswert?

Hey Christian!

Habe das Teil nun optimiert :-)

Vielen Dank nochmal und noch ein schön Rest Wochenende.

von Bernd (Gast)


Lesenswert?

+es

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.