Forum: Mikrocontroller und Digitale Elektronik Motorola MC68331 Konfiguration per SCI auslesen.


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Sascha M. (s-maisch)


Lesenswert?

Hallo,

ich heisse Sascha, bin auf dieses Forum aufmerksam geworden und denke, 
dass man mir hier helfen kann. Sorry für meine schlechte Schreibweise.

Ich möchte gerne aus einen MC68331CHV16 die konfiguration auslesen, 
dieses muss aber über SCI erfolgen, da BDM ausscheidet. Diese 
konfiguration würde ich dann gerne auf einen neuen Übertragen.

Ich bin gerade erst in den anfängen zu programmieren, und habe nur 
Arduino erfahrungen.

Ich wäre sehr dankbar, wenn mich jemand an die Hand nehmen könnte.

Lg

Sascha

von Frank K. (fchk)


Lesenswert?

Sascha M. schrieb:

> Ich möchte gerne aus einen MC68331CHV16 die konfiguration auslesen,
> dieses muss aber über SCI erfolgen, da BDM ausscheidet. Diese
> konfiguration würde ich dann gerne auf einen neuen Übertragen.

Du weißt schon, dass der 68331 kein internes Flash hat und dass es 
deswegen da einfach nichts auszulesen gibt?

fchk

von Sascha M. (Gast)


Lesenswert?

Ja das liegt alles wie ich es aus dem Datenblatt gelesen habe in ein 
Bootrom, dieser ist aber nicht zugänglich.

Aber es gibt doch Controlregister z.B. für die Chipselect usw.

von Frank K. (fchk)


Lesenswert?

Sascha M. schrieb:
> Ja das liegt alles wie ich es aus dem Datenblatt gelesen habe in ein
> Bootrom, dieser ist aber nicht zugänglich.
>
> Aber es gibt doch Controlregister z.B. für die Chipselect usw.

Die sind aber alle flüchtig. Nach einem Reset ist CS0 aktiv, um aus 
einem Bootrom zu booten, und in der Initialisierungsroutine werden dann 
alle Register gesetzt.

Der Prozessor hat keinerlei nicht-flüchtigen Speicher. Du hast ein paar 
Pullups und Pulldowns an einigen Pins, die die Bootkonfiguration 
festlegen, aber die gesamte Konfiguration ist extern. Die gesamte.

fchk

von Sascha M. (s-maisch)


Lesenswert?

Frank K. schrieb:
> Sascha M. schrieb:
>> Ja das liegt alles wie ich es aus dem Datenblatt gelesen habe in ein
>> Bootrom, dieser ist aber nicht zugänglich.
>>
>> Aber es gibt doch Controlregister z.B. für die Chipselect usw.
>
> Die sind aber alle flüchtig. Nach einem Reset ist CS0 aktiv, um aus
> einem Bootrom zu booten, und in der Initialisierungsroutine werden dann
> alle Register gesetzt.
>
> Der Prozessor hat keinerlei nicht-flüchtigen Speicher. Du hast ein paar
> Pullups und Pulldowns an einigen Pins, die die Bootkonfiguration
> festlegen, aber die gesamte Konfiguration ist extern. Die gesamte.
>
> fchk

Und genau darum geht es mir, wie kann ich z.B. den Bereich $YFFA00 
auslesen am besten mit arduino oder klassisch per Terminal.

von Frank K. (fchk)


Lesenswert?

Sascha M. schrieb:

>> Der Prozessor hat keinerlei nicht-flüchtigen Speicher. Du hast ein paar
>> Pullups und Pulldowns an einigen Pins, die die Bootkonfiguration
>> festlegen, aber die gesamte Konfiguration ist extern. Die gesamte.
>>
>> fchk
>
> Und genau darum geht es mir, wie kann ich z.B. den Bereich $YFFA00
> auslesen am besten mit arduino oder klassisch per Terminal.

Im laufenden Betrieb ist BDM der Weg, den Du gehen musst. Da gibt es nur 
genau diese eine Möglichkeit.

Die andere Möglichkeit wäre, das Bootrom auszulöten, in einem EPrommer 
auszulesen und zu disassembleren und die Zugriffe auf die Systembereiche 
herauszufinden.

Was ist denn Ziel der Übung? Wenn Du einen defekten Prozessor tauschen 
willst, kannst Du das einfach so tun. Zum Reverse Engineeren brauchst Du 
den Code, der sich im Flash befindet. Und Flash-Bausteine kannst Du 
extern einfach auslesen.

Und was für ein System hast Du da?

fchk

PS:
DU kannst natürlich auch den Prozessorbus (Adressbits, Datenbits, RW, E, 
CSn,...) per Logic Analyzer abgreifen und mitschneiden. Für die alten HP 
Logic Anayzer gab es sogar Reverse Assembler, die Dir die Code- und 
Datenzugriffe aufgezeichnet haben. Aber bei den 683xx Controllern kannst 
Du die internen Registerzugriffe nicht per LA aufzeichnen. Das geht nur 
per BDM.

: Bearbeitet durch User
von Sascha M. (Gast)


Lesenswert?

Sorry für die später Rückmeldung,

Es gibt kein Bootrom, es gibt nur RAM Bausteine.

Wie kann ich z.B. mit dem PC das SCCR0 Register setzen ? Mit welchem 
Programm ? Ich würde ein TTL to usb nehmen wollen.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Sascha M. schrieb:

> Es gibt kein Bootrom, es gibt nur RAM Bausteine.
>
> Wie kann ich z.B. mit dem PC das SCCR0 Register setzen ? Mit welchem
> Programm ? Ich würde ein TTL to usb nehmen wollen.

M.W. ist das nur über BDM möglich -- oder über ein Monitorprogramm im 
Codespeicher der MCU.

Erklär' doch mal, warum Deiner Meinung nach "BDM ausscheidet", denn 
leider ist das Leben kein Wunschkonzert, wie's so schön heißt.

Grüßle,
Volker

P.S.: Vielleicht geht's diesmal auch schneller mit der Antwort...

von Sascha M. (s-maisch)


Lesenswert?

Weil die benötigten Pins bereits belegt sind, da geht ein atmel drauf. 
Vielleicht setzt dieser aber schon die besagten Register und ich muss 
nur noch die Daten per SCI irgendwie reinschreiben. Über die serielle 
Schnittstelle ist die einzige Option in dieser Schaltung darauf 
zuzugreifen.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Sascha M. schrieb:
> Weil die benötigten Pins bereits belegt sind, da geht ein atmel drauf.
> Vielleicht setzt dieser aber schon die besagten Register und ich muss
> nur noch die Daten per SCI irgendwie reinschreiben. Über die serielle
> Schnittstelle ist die einzige Option in dieser Schaltung darauf
> zuzugreifen.

Ohne Dir zu nahe treten zu wollen, aber wie stellst Du Dir Hilfe vor?
Du besitzt ein uns völlig unbekanntes Gerät, dass angeblich eine 
MC68331-MCU besitzt und willst dieses über dessen serielle Schnittstelle 
auslesen. Glaubst Du wirklich, dass hier Hellseher mitlesen, die Dir 
helfen können?

Auch sind Deine Ausführungen, gelinde gesagt, merkwürdig: "da geht ein 
atmel drauf". Sorry, aber so wird das leider nichts. Versuch's doch mal 
in einem Esoterik-Forum.

Auf die naheliegenste Idee, mit einem billigen Logik-Analyzer das 
Verhalten des "atmel" an den BDM-Pins mit zu loggen, kommst Du nicht? Du 
erachtest es ja noch nicht einmal für erwähnenswert, dass eine MCU (?) 
am BDM des '331 hängt.

Weil man Dir hier jedes kleine Detail aus der Nase ziehen muss: Besitzt 
Du eine Dokumentation zu dem Gerät?

Grüßle,
Volker

Nachtrag: Ich erinnere mich dunkel an einen Thread über einen 
Spielautomaten, der aus einem 6833x mit batteriegepuffertem RAM bestand, 
das der TO auslesen wollten. Du bist nicht zufällig identisch mit 
diesem?

: Bearbeitet durch User
von Sascha M. (s-maisch)


Lesenswert?

Ich bin nicht identisch, aber es geht genau um diese Dinge, ich werde 
heute Abend mal Bilder einstellen, welchen BDM adapter kann ich nutzen ? 
Wenn das die einzige Option ist, muss ich da mal schauen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.