Forum: Mikrocontroller und Digitale Elektronik ST62T10 seltsames Verhalten


von Roland H. (minitron)


Lesenswert?

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

von Michael K. (Gast)


Angehängte Dateien:

Lesenswert?

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 ?)

von DSausW (Gast)


Lesenswert?

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

von Roland H. (minitron)


Lesenswert?

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.

von Roland H. (minitron)


Lesenswert?

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

von DSausW (Gast)


Lesenswert?

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.

von Michael K. (Gast)


Lesenswert?

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.

von Roland H. (minitron)


Lesenswert?

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?

von Roland H. (minitron)


Lesenswert?

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.

von Dietmar S. (dsausw)


Lesenswert?

So Roland-
jetzt klappt es mit dem Kontakt :-)

von Michael K. (Gast)


Lesenswert?

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.

von Dietmar S. (dsausw)


Lesenswert?

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".

von Michael K. (Gast)


Lesenswert?

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.

von Dietmar S. (dsausw)


Lesenswert?

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.

von Roland H. (minitron)


Lesenswert?

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...

von Dietmar S. (dsausw)


Lesenswert?

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.

von Dietmar S. (dsausw)


Lesenswert?

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.

von Roland H. (minitron)


Lesenswert?

@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...

von Roland H. (minitron)


Lesenswert?

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