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
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
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.
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
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
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
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
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
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
Hey Christian! Habe das Teil nun optimiert :-) Vielen Dank nochmal und noch ein schön Rest Wochenende.
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.