Forum: Compiler & IDEs Ghidra Peripherie bekanntmachen


von Steffen H. (steffenh)


Lesenswert?

Hallo zusammen,

ich möchte das Programm einer CPU32 in Ghidra reverse engineeren. Der 
nächstpassende Prozessor, der in Ghidra verfügbar ist, ist der MC68020. 
Damit kann Ghidra was anfangen. Es erkennt aber leider die Peripherie 
nicht.

Wie mache ich die in Ghidra bekannt? Die Peripherie-Register sind 
allesamt memory-mapped ab Adresse 0xFFFFF000.

Beispiel: An Adresse 0xFFFFFA04 befindet sich das Peripherieregister 
"SYNCR". Ghidra kennt das nicht und zeigt es mir als "DAT_FFFFFA04" an. 
Wie schaffe ich es, dass Ghidra es erstens korrekt als 
Peripherieregister erkennt und zweitens als "SYNCR" bezeichnet?

Grüße
Steffen

von Harald K. (kirnbichler)


Lesenswert?

Steffen H. schrieb:
> Es erkennt aber leider die Peripherie
> nicht.

Wie denn auch, der '20 hat keine Peripherie, und wo im Adressraum welche 
eingeblendet wird, bleibt nahezu vollständig dem Hardwaredesigner 
überlassen. Anders als beim x86-PC, wo die Peripherie mal von IBM mehr 
oder weniger standardisiert wurde, gibt es das beim 68k nicht.
Da gibt es auch keine "best practices", in welchen Adressraum Peripherie 
gepackt wird (nur halt da nicht, wo der Resetvektor liegt).


Mit Ghidra hab' ich selbst noch nichts angestellt, aber auf die Schnelle 
das hier gefunden:

https://wiki.magiclantern.fm/reverse_engineering:ghidra:memory_map

und das hier:

https://www.reddit.com/r/ghidra/comments/181z8bz/can_i_import_a_table_of_data_labels_or_edit_all/

von Steffen H. (steffenh)


Lesenswert?

Okay, hab es auch mit Hilfe Deiner Links herausgefunden. Man macht es 
über "set associated label".

Danke für Deine Hilfe!

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.