ich hab im Rahmen meiner Diplomarbeit am Rande mit SH3- Prozessoren zu tun. Diese Prozessoren können sowohl mit Big- als auch mit Little Endian - Daten arbeiten. Womit der Prozessor aktuell arbeitet kann per Pinbeschaltung eingestellt werden.
Meine Frage ist jetzt, ob man aus einer Binärdatei, die für einen SH3 erzeugt wurde(Binary Image File Format) erkennen kann, nach welchem Schema die Daten abgelegt sind. Den mir bekannten Dokus kann ich zwar die allgemeine Struktur entnehmen, aber nicht, ob Big/Little Endian kenntlich gemacht wird.
Hat jemand ne weiterführende Doku, oder hat jemand ne Idee, die weiterhelfen könnte?
Meine Frage ist jetzt, ob man aus einer Binärdatei, die für
einen SH3 erzeugt wurde(Binary Image File Format) erkennen
kann, nach welchem Schema die Daten abgelegt sind. Den mir
bekannten Dokus kann ich zwar die allgemeine Struktur
entnehmen, aber nicht, ob Big/Little Endian kenntlich gemacht
wird.
Da das mit einem Pin umgeschaltet wird, ist im Memory-Image keine direkte Information mehr vorhanden.
Schau dir aber einmal den Reset-Vektor an (0xA0000000).
Daraus ergeben sich, je nacht Big/Little, zwei mögliche Speicheradressen.
Die gültige mus sich innerhalb deines Images befinden und es sollte dort dann vernüftiger Code stehen, welcher irgendwelche Dinge initialisiert, wie ganz am Anfang den Stackpointer (Dies sollte einer der ersten 2 oder 3 Befehele sein).
Hat jemand ne weiterführende Doku, oder hat jemand ne Idee,
die weiterhelfen könnte?
ist ne gute Idee, die Codierung indirekt zu ermitteln. Ich werde mal prüfen, über welche Informationen sich das am besten umsetzen lässt.
Evtl. eignet sich auch die Länge der Records dafür, denn wenn ich die Länge nach dem richtigen Schema interpretiere, muss ja im nachfolgenden DWord wieder ne Ladeadresse stehn, die ins Schema passt.