Hallo zusammen, erstmalig beschäftige ich mit den ST62T10 von SGS-Thomson und habe damit Probleme. Aus dem ST62T10 einer defekten Garagentorsteuerung möchte ich das Programm auslesen. Wenn man den Seiten 3 und 4 des Datenblattes glauben darf, ist dies auch möglich: Seite 3: The EPROM ST62E20, E25 and OTP ST62T10, T15, T20, T25 are downward compatible with the ROM ST621XB/2XB.They include the same functionalities and blocks as these ROM devices with the following exceptions: no RC network, no Oscillator Safe Guard (OSG), no external STOP Mode Control, no readout protection and no option byte. Seite 4: Froma user point of view, once programmed, these OTP and EPROM products have the same software and hardware features as the ROM ST621XB/2XB versions, except : - No internal pull-up resistor availableon pin NMI - No internal pull-up resistor availableon pin TIMER - NoRCnetwork - No Oscillator SafeGuard (OSG) - No ExternalSTOP Mode Control - No Readout protection Tatsächlich lassen sich mit meinem alten Leaper 10 das Programm von Adresse 0880h – 0F9Fh und auch die Interrupt-Vektoren von 0FF0h – 0FF7h auslesen. Jetzt aber wird’s seltsam: bei jedem erneuten Auslesen ändern sich die hex-Werte der Interrupt-Vektoren und damit auch die angezeigte checksum. Wie kann es denn sein, daß ein programmierter OTP-uc ständig andere Werte ausgibt? Dann habe ich einen jungfräulichen ST62T10 (gekauft bei Reichelt) ausgelesen, und laut Leaper 10 hatte er im Programmbereich exakt das gleiche Programm wie der programmierte Vorgänger und auch wieder unterschiedliche hex-Werte bei den Interrupt-Vektoren. Das verstehe ich nun überhaupt nicht, daß ein unprogrammierter ST62T10 im Programmbereich nicht brav FFh anzeigt! Selbstverständlich hatte ich dann den Leaper in Verdacht, nach 15 Jahren etwas senil geworden zu sein und Unfug anzuzeigen, aber diverse Tests mit EPROMS, 8051ern, PICs, Atmels usw zeigten, daß alle Daten ok sind. Am Leaper liegt’s also offenbar nicht. Kann mir jemand dieses seltsame Verhalten der ST62T10 erklären? Besten Dank schonmal für die Hilfe und viele Grüße Roland
Kenne weder die MCU noch den Programmer, aber was Du beschreibts hört sich danach an als ob keiner der MCUs ausgelesen wird. Beschreibe die neue MCU mal mit irgendwas und mache ein verify. Ich tippe darauf das der MCU was fehlt um gelesen zu werden und Du gerade irgendwas liest das mehr mit dem Leaper zu tun hat als mit dem Code im ST. (argh.. Wie kann man doppelte Dateianhänge wieder löschen ?)
Hallo Roland, 'mal abgesehen von den Pflegefällen, die hier so herumlungern- zum Thema: Wir haben die Teile von STM vor vielen Jahren eingestzt. Erst gab es Controller, die hatte eine Kennung M6-SWD und M6-HWD. Das bezieht sich auf den watchdog. Dann kam eine Redesign mit dem Option-byte zur Programmierung dieser Funktion (-CM6). Aber auch bei den alten Versionen kann man eine fuse setzen, um das Auslesen zu verhindern (nicht-reversibel). Bei einem kommerziell vertriebenem Gerät ist es auch kaum vorstellbar, das es ein Auslesen nicht geschützt ist. Du solltest also erst einmal genau den Typ ermitteln (lesbar?) Gruss Dietmar
Hallo Michael, nicht so ernst nehmen, die kleinen Kinder .... ;-) Das hatte ich vergessen zu erwähnen: beim auslesen des programmierten ic macht der Leaper ein verify, das bei jedem Vorgang als korrekt angezeigt wird. Das Programmieren des (angeblich) jungfräulichen ST62T10 geht nicht, weil er beim Programmiervorgang sagt, daß bei Adresse 0000 ein Fehler sei. Auch das ist seltsam, weil laut Datenblatt bei Adresse 0000 der reservierte Programmbereich beginnt und nicht beschrieben werden kann. Andererseits dürfte nichts beschrieben werden können, weil der definierte Programmbereich ja schon beschrieben ist. Auffällig ist, daß der komplette Programmbereich beschrieben ist und kein einziges byte mehr frei ist. Kann zwar normal sein, ist aber nach meinen Erfahrungen eher selten. Ist kein ic der Fassung, meckert der Leaper, daß er keinen ic erkennen kann. Wie gesagt habe ich mit diesem Prozessortyp noch nie gearbeitet, aber er verhält sich komplett "anders" als die von mir bisher verwendeten Prozessoren.
Hallo Dietmar, auf dem Garagen-ic steht: ST62T10C6 M99V 80318 Malaysia auf dem (angeblich) jungfräulichen steht: ST62T10C6 1 9915P V1. Neben dem ST-Logo steht in einem weißen Kreis "e3". Demnach lügt das Datenblatt, wenn dem ST62T10 eine "no readout-protection" bescheinigt wird. Aber wieso wird bei beiden ics ein absolut identisches Programm vom Leaper angezeigt? Selbst wenn beide ics programmiert UND auslesegeschützt sind, dürften doch beide Programme nicht identisch sein? Der einzige Unterschied sind die ständig wechselnden Interruptvektoren, was imho nicht sein dürfte. Ist vielleicht ein gleiches, unsinniges Programm in allen diesen ic-Typen programmiert, das nur dann ausgelesen werden kann, wenn die "readout-fuse" gesetzt ist? Viele Grüße Roland
Hi, mein Programmer (LLoyd9000) erkennt sofort einen geschützten Baustein und verweigert alles weitere. Ausgelesen wird der Speicher eines unprogrammierter uC mit 0xFF, wie sich das gehört ;-). Wenn Du noch preiswert ein paar Bausteine benötigst, bitte melden. Ich hätte noch ein paar Stangen ST62T20C6 (4k) im SO-20-Gehäuse.
Hallo Roland, > beim auslesen des programmierten ic > macht der Leaper ein verify, das bei jedem Vorgang als korrekt angezeigt > wird. Da jeder Lesevorgang bei Dir das gleiche Ergebniss produziert, ob programmierter oder jungfräulicher ST, ist ein Verify auch immer okay. Das die Interruptvektoren sich verändern blende ich jetzt mal aus. Das führt nur noch weiter aufs Glatteis. > Das Programmieren des (angeblich) jungfräulichen ST62T10 geht nicht, > weil er beim Programmiervorgang sagt, daß bei Adresse 0000 ein Fehler > sei. Was die klassische Fehlermeldung ist wenn das Programmieren generell nicht klappt. > Auffällig ist, daß der komplette Programmbereich beschrieben ist und > kein einziges byte mehr frei ist. Auch das spricht für Zufallsdaten. Das diese Zufallsdaten immer gleich sind, könnte an einer Eigenschaft des Programmers oder des nicht komplett angesteuerten STs liegen. > Ist kein ic der Fassung, meckert der Leaper, daß er keinen ic erkennen > kann. Auch das kann in die Irre führen weil wir nicht wissen wie der Leaper einen IC erkennt. Vieleicht reicht es dem 'irgendwas' zu erkennen. Ich tippe immer noch auf eine nicht funktionierende Programierumgebung. Leaper, Software oder das Timing am LPT Port stimmt nicht. Hast Du noch einen alten PC mit LPT oder betreibst Du den über einen Wandler ? Beim Galep geht das nämlich (auch) nicht ohne 'echten' LPT. Bei den alten Krücken wird das ganze kritische timing vom PC gemacht und das bekommen die USB / LPT Wandler nicht auf die Reihe. Wenn alter und neuer ST das gleiche Ergebniss produzieren betrachte ich das als Beweis das es nicht am ST liegt. Das nächste wäre sich mit dem Oszi hinzusetzten und Signal für Signal während des Programierens durchzumessen. Das Timing sollte ja bei ST zu finden sein. Wenn Du willst schick mir die STs + Rückumschlag dann werfe ich meinen alten Galep 4 mit dem betagtem Notebook an und versuche mal mein Glück. Adresse per PM.
Hi Dietmar, es wird wohl so sein, daß der Garagen-ic auslesegeschützt ist und ich ihn eh nicht auslesen kann. Das war's dann wohl... Ich werde mich wohl nicht so in die Materie der ST62-Typen vertiefen, aber ein wenig damit experimentieren wäre nicht schlecht. So ein komisches Verhalten eines uc habe ich noch nie erlebt. Kann ich Dich irgendwie kontaktieren?
Hi Michael, den Leaper betreibe ich an meinem alten Armada M300, der noch eine echte serielle und parallele Schnittstelle hat, unter DOS 6.2. Hat bisher auch mit allen möglichen Prozessoren, EPROMS, GALs usw. klaglos funktioniert. Falls der Leaper wirklich spinnen würde, müßten sich imho doch auch Merkwürdigkeiten bei anderen Prozessortypen einstellen. Tun sie aber zum Glück nicht. Ich besitze alle möglichen Programmer, aber der alte Leaper ist leider der einzige, der den ST62T10 programmieren kann. Na ja, offenbar doch nicht... Falls mir mal ein anderer ST62-fähiger-Progger über den Weg läuft, werde ich es nochmal testen. Mit der ST-Reihe habe ich mich bisher überhaupt nicht beschäftigt, von daher ist es nicht so dramatisch, wenn einiges im Dunkeln bleibt. Obwooohl, so ein bißchen fuchst es mich schon... Besten Dank für Deine Hilfe.
Roland Hutter schrieb: > Falls der Leaper wirklich spinnen würde, müßten sich imho doch auch > Merkwürdigkeiten bei anderen Prozessortypen einstellen. Nicht unbedingt. Um das zu verifizieren müsste man das Timing und die Signale messen bzw. mit einem anderen Programmer gegenchecken. Vieleicht ist der ST nur besonders eigensinnig was Timing und Signalgüte angeht oder wurde nie so richtig vom Leaper unterstützt oder der Leaper hat Probleme mit einem neuen ST Fertigungsprozess. Vieleicht ist genau der Pintreiber der hier benötigt wird defekt, oder oder... Da gibt es 1000 Dinge die genau bei diesem IC schiefgehen können. Das ist alles sehr viel wahrscheinlicher als das ein neu gekaufter ST: a. eine gesetze read out protection hat, die es nach Datasheet überhaupt nicht gibt. b. das gleiche (falsche) Programm wie der alte ST enthält c. auf genau die gleiche Art defekt ist. Der ST ist steinalt. Damals hat kein Mensch an Ausleseschutz gedacht, hatten die damals üblichen Eproms ja auch nicht.
Guckst Du: Auszug von der ersten Seite des Datenblattes der Serie ST6208/09/10/20 der C-Revision: Memories – 1K, 2K or 4K bytes Program memory (OTP, EPROM, FASTROM or ROM) with read-out-protection Wir setzen diese Teile immer noch in der Serie ein ;-) Aber ich bin ja auch "steinalt".
Na gut, der Punkt geht an Dich. Ist das in einer späteren Revision dazugekommen oder hab ich das in dem handkopierten Datasheet nicht gefunden ? Ich komme auch erst jetzt darauf das Roland wohl einen OTP gekauft hat und der ist natürlich nach dem ersten Versuch hinüber. OTP wurde immer schnell zu einer Materialschlacht deswegen hab ich nur mit E(E)prom / Flash gearbeitet. Denkblockade. Die Zeiten sind auch bei mir schon sehr lage her. Mit steinalt habe ich kein Problem. So mancher begeisterte 32bit Schubser der sich daran erfreut was er jetzt alles in Software emulieren kann weiß garnicht das es dafür seit 20 Jahren Hardware in den MCUs gibt die weder viel Speicher noch viel Rechenpower brauht um das gleiche zu tun.
Hi, die read-out-protection war schon in den M6-Typen. Nur die Auswahl HWD-SWD-watchdog, der OSGEN, Timer pull-up, NMI -pull-up und OSC-select kamem hinzu.
Ich habe nochmal gegoogelt und die Beschreibung für einen „ST-EPROM-Programmer“ aus dem Jahre 2000 gefunden, bei dem man mit 2 Mäuseklavieren alle möglichen Parameter einstellen konnte, auch „OTP“ und „lock“. Offenbar konnten die ST62T10 doch auslesegeschützt werden. Den bei Reichelt neu gekauften ST62T10 habe ich erstmal ausgelesen und dabei das gleiche Programm gefunden wie bei dem ic aus der Garagentorsteuerung. Erst danach habe ich versucht ihn zu beschreiben, weil man ja nur einen Versuch hat... Nun stellt sich die Frage, ob Reichelt mir einen schon programmierten ic geschickt hat, was imho sehr unwahrscheinlich ist, oder ob Michael mit seiner Vermutung recht hat, daß die Kombination PC, Leaper und ST eine unheilige Allianz gebildet hat ;-) Dietmar schickt mir netterweise ein paar von den STs, denen werde ich mit dem Leaper nochmal zu Leibe rücken. Mal sehen, was dabei rauskommt...
Für alle Ungläubigen: In der Bibel: "ST62 MCU FAMILY GENERAL PURPOSE" -databook 5th EDITION 1996 steht auf Seite323 zum ST6210B die Beschaltung und das Timing beschrieben für die "READ OUT PROTECTION FUSE". Da gab es noch kein PDF und es ist vergilbtes Papier.
Ach vergessen: @Roland: Wenn Du die Lust verlierst kannst Du mir auch das Original zuschicken zum Auslesen. Bei der vorhandenen Protection meckert auch mein Starter Kit (KW47/1996) gleich herum.
@Dietmar: danke für das Angebot, aber inzwischen glaube ich auch, daß der ic auslesegeschützt ist, und deshalb das Auslesen nur unsinnige Programmzeilen liefert. Ich bin schon gespannt, was mein Leaper ausliest, wenn ich einen Deiner STs beschreibe. Von älteren auslesegeschützten PICs 16Cxx weiß ich, daß beim Auslesen nur unsinniges Zeug rauskommt, dies aber in der Regel gut erkennbar ist. Sowas wie bei den beiden vorliegenden und programmierten ST62T10 mit identischen Programmen kannte ich bisher nicht. Ich habe natürlich nicht Zeile für Zeile verglichen, sondern nur sehr häufige Stichproben auf Übereinstimmung gemacht. Irgendwo habe ich noch ein Fujitsu/Siemens Lifebook E4010 rumfliegen. Dem Ding werde ich die Leaper-Software verpassen und testen, was die beiden STs von sich geben. Falls die ausgelesenen Programme mit denen vom Armada M300 übereinstimmen, gibt's hoffentlich eine mögliche Fehlerquelle weniger...
Hallo zusammen, vielen Dank an Dietmar, der mir drei verschiedene STs zur Verfügung gestellt hat. Den Armada M300 habe ich durch einen E4010 ersetzt und die ics mit dem Leaper ausgelesen. Beim Auslesen Dietmars jungfräulicher uc erscheint das gleiche Quatschprogramm wie bei meinen beiden STs. Beim "blank check" behauptet der Leaper, daß es einen error bei Adresse 0000 gebe. Damit steht für mich fest, daß der Leaper spinnt, seltsamerweise aber nur bei den ST-Typen. Jetzt bleibt nur noch zu klären, woher der Leaper die immer gleichen falschen Programmzeilen nimmt. Und für diese Gurke habe ich vor 16 Jahren mal 2000 DM bezahlt... :-((( Besten Dank nochmal für die Hilfe und viele Grüße Roland
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.