Forum: Mikrocontroller und Digitale Elektronik MC68307 JTAG


von Manawyrm (manawyrm)


Lesenswert?

Moin,

ich habe hier eine handvoll alter Geräte mit MC68307 Prozessoren,
die eine relativ seltene Firmwareversion haben, die ich gerne auslesen 
würde.

Hat hier schon mal jemand mit einem MC68307 per JTAG gesprochen und 
erinnert sich daran, welche Hardware dafür genutzt wurde?

Meine JTAG Adapter (J-Link, BDI3000, etc.) können leider alle nicht mehr 
mit m68k sprechen (zumindest steht davon nichts bei den jeweiligen 
Herstellern).

Nehme auch andere Tricks oder kreative Lösungsvorschläge gerne an, z.B. 
ganz klassisch Parallelport-Adapter, etc., wenn jemand dafür passende 
Software kennt?

Ich würde mir sehr gerne sparen, die mehreren Flashchips vom Board zu 
löten, inbs. da die Geräte mit der besonders seltenen Firmwareversion 
nicht mir gehören und ich sie keinesfalls beschädigen möchte. Darum der 
Ansatz über die JTAG-Schnittstelle.

(für Interessierte: 
https://osmocom.org/projects/retronetworking/wiki/T-View_100 )

MC68307 Datenblatt: 
https://osmocom.org/attachments/download/5529/XC68307.pdf

Viele Grüße
Tobias

von Dieter (Gast)


Lesenswert?

Tobias M. schrieb:
>
> Hat hier schon mal jemand mit einem MC68307 per JTAG gesprochen und
> erinnert sich daran, welche Hardware dafür genutzt wurde?
>

TRACE32 kann es (natürlich, es gibt weniger was der nicht kann).

Das BDM Protokoll der 683xx ist gut dokumentiert und es gibt einige alte 
Tools im Sourcecode für meist am LPT Port angeschlossene relativ 
einfache Hardware. Das auf einen aktuellen Mikrocontroller (z.B. STM32) 
umzusetzen ist einfach und reicht fürs Auslesen des Speichers aus.

von Markus F. (mfro)


Lesenswert?

Dieter schrieb:
> Das BDM Protokoll

ich konnte das auch erst nicht glauben, weil ich der Ansicht war, dass 
die das alle haben, aber im 68307-Datenblatt kommt das Wort BDM nicht 
vor.

von Dieter (Gast)


Lesenswert?

Wobei ich gerade sehe dass der MC68307 gar keinen internen Speicher hat, 
oder übersehe ich da was?

Dann kann man z.B. den JTAG Boundary-Scan des MC68307 verwenden um 
darüber auf den externen Speicher zuzugreifen.

von Manawyrm (manawyrm)


Lesenswert?

Dieter schrieb:
> Wobei ich gerade sehe dass der MC68307 gar keinen internen Speicher hat,
> oder übersehe ich da was?

Richtig, es geht um den Inhalt einiger SMD NOR-Flash Chips auf dem 
Board.
Die könnte man theoretisch auch auslöten, was ich im schlimmsten Falle 
tun muss.

von olaf (Gast)


Lesenswert?

>  aber im 68307-Datenblatt kommt das Wort BDM nicht vor.

Sieht so aus als wenn der vor BDM erfunden wurde. Aber der hat ja JTAG,
damit muesstest du doch theoretisch den Bus deiner EPROM abklimpern 
koennen und so auslesen.
Die langen Winterabende kommen jetzt ja. :-)

Olaf

von Dieter (Gast)


Lesenswert?

Markus F. schrieb:
>
> ich konnte das auch erst nicht glauben, weil ich der Ansicht war, dass
> die das alle haben, aber im 68307-Datenblatt kommt das Wort BDM nicht
> vor.

Ja, den Eindruck habe ich inzwischen auch. In der Liste vom TRACE32 
steht er aber. Wobei das auch nur bedeuten kann dass der TRACE32 nur den 
Boundary Scan verwendet um darüber auf externen Speicher zuzugreifen, es 
gibt dafür relativ komfortable Unterstützung. Das kann man aber zur Not 
auch selber mit einem beliebigen JTAG Interface machen, das Low-Level 
JTAG Zugriff erlaubt (also z.B. die diversen JTAG Register per API 
ansprechen kann).

von Dieter (Gast)


Lesenswert?

Laut User Manual des MC68307 hat er tatsächlich kein BDM. Der JTAG 
Boundary Scan ist dort aber beschrieben. Es gibt außerdem noch ein User 
Manual Errata mit Bezug zum Boundary Scan.

Damit sollte man alles haben um den externen Flash auzulesen.

von Markus F. (mfro)


Lesenswert?

Dieter schrieb:
> Das kann man aber zur Not
> auch selber mit einem beliebigen JTAG Interface machen, das Low-Level
> JTAG Zugriff erlaubt (also z.B. die diversen JTAG Register per API
> ansprechen kann).

So wie's aussieht, musst Du dafür das komplette Busprotokoll, das für 
den ROM-Read gebraucht wird, selber für jeden Pin einzeln durch das 
JTAG-Interface durchklappern. Könnte 'ne Weile dauern.

https://www.nxp.com/docs/en/reference-manual/MC68307UM.pdf

: Bearbeitet durch User
von Dieter (Gast)


Lesenswert?

Markus F. schrieb:
>
> So wie's aussieht, musst Du dafür das komplette Busprotokoll, das für
> den ROM-Read gebraucht wird, selber für jeden Pin einzeln durch das
> JTAG-Interface durchklappern. Könnte 'ne Weile dauern.

Wie lange ist "eine Weile"? Die Flash Speicher auf der Hardware scheinen 
im 1 MByte Bereich zu liegen. Selbst wenn das dann 30 Minuten dauern 
sollte (so lange wird es vermutlich nicht dauern) spielt es kaum ein 
Rolle wenn man nur einmalig den Speicher auslesen will um an den Inhalt 
zu kommen. Gut, wenn jemand fit im Aus- und Einlöten ist dann könnte er 
schneller sein...

Die Zeit bis die Software zum Auslesen steht wird der entscheidende 
Faktor sein.

von Markus F. (mfro)


Lesenswert?

Dieter schrieb:
> Die Zeit bis die Software zum Auslesen steht wird der entscheidende
> Faktor sein.

Das ist tatsächlich, was ich mit meinem Post oben sagen wollte...

von Manawyrm (manawyrm)


Lesenswert?

Dieter schrieb:
> Die Zeit bis die Software zum Auslesen steht wird der entscheidende
> Faktor sein.

Wär aber mal ne gute Gelegenheit um etwas über JTAG/Boundary scanning zu 
lernen. Das habe ich bisher auch noch gar nicht selbst angefasst.

Wär doch was und einen sehr positiven Nebeneffekt (namentlich 
Backup-Image) hätte es auch :)

Ich versuch mich mal einzulesen...

von Dieter (Gast)


Lesenswert?

Markus F. schrieb:
> Dieter schrieb:
>> Die Zeit bis die Software zum Auslesen steht wird der entscheidende
>> Faktor sein.
>
> Das ist tatsächlich, was ich mit meinem Post oben sagen wollte...

Der Boundary Scan Register des MC68307 ist noch recht überschaubar 
(Seite 201 im User Manual), die Bus Operations (Section 3 im User 
Manual) sind auch nicht so kompliziert. Wenn man schon mal per Boundary 
Scan auf externen Speicher zugegriffen hat (das ist größtenteils 
unabhängig von der verbauten CPU) ist es nicht so schwierig, wenn man 
damit noch gar nichts gemacht hat kann es länger dauern.

von Dieter (Gast)


Lesenswert?

Tobias M. schrieb:
>
> Ich versuch mich mal einzulesen...

Es gibt von Intel ein paar ältere Application Notes mit Code, die das 
Prinzip recht gut verdeutlichen, z.B. die hier:

http://www.nj7p.org/Manuals/PDFs/Intel/272753-001.PDF

http://netwinder.osuosl.org/pub/netwinder/docs/intel/applnots/27820501.pdf

Das ist teilweise für ein JTAG Interface am LPT Port, das sollte beim 
Verständnis aber nicht stören, der Code ist relativ übersichtlich.

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.