Der Freescale MAC7116 enthält ja einen ARM7 prozessor, SRAM und Flash. Darüber hinaus hat er sicher auch noch ein eigenes Boot-ROM?! Jedenfalls starter doch der ARM auf Adresse 0x0000 0000, wo auch normalerweise der Reset Vector liegt? Ich habe hier einen Flashdump und der beginnt mit den Bytes wie im Screenshot zu sehen. Das kann aber doch keine gültige Adresse sein?! ARM Code scheint es auch nicht zu sein... Hat einer ne Idee dazu?
Haste mal Diassembliert ? http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0210c/index.html ARM7TDMI ist übrigens kein Cortex-X Da waren in den Vektortabellen noch richtige Opcodes.
Ja, klar, daher glaube ich ja das da am Anfang kein Code drin steht. Habe IDA genutzt aber kann auch jeder leicht mit https://onlinedisassembler.com/odaweb/ selbst machen. Als Prozessorarchitektur "arm4" und "Big Endian" wählen. Dann in die Codezeile links "7C C7 55 AA AA 55 C7 F0" eintragen. Raus kommt dann sowas:
1 | 000000007cc755aa cfstr64vc mvdx5, [r7], {170} |
2 | 00000004aa55c7f0 bge loc_01571fcc |
"bge" wäre ja " branch if greater or equal", also ein bedingter Sprung. Hinter diesem kommt aber nichts mehr (etliche Bytes nur 0xFE) also was wenn die Bedingung nicht erfüllt ist? Macht für mich irgendwie keinen Sinn... vor allem weil ich im ARM instructionset kein "cfstr6rvc" oder "mvdx5" finde, Abgesehen davon wäre die Zielmarke auch wieder weit ausserhalb vom ROM, das dürfte nur bis max. 0x1 FFFF gehen, meine ich.
:
Bearbeitet durch User
Also 55 AA wird gerne als "magic" Signatur genutzt, z.B. beim MBR auf dem PC. Sieht daher mehr nach einer Art Header und/oder Signatur aus, und weniger nach Instruktionen bzw. Sprung Tabelle.
Ja, das sprang mir auch eher als "Magic" ins Auge, daher ja meiner Frage :-) An einen MBR glaube ich eher nicht, denn dann müsste es ja ein BIOS geben. Wo sollte das sein? Im MAC sicher nicht. Aber "55 AA" ist z.B. auch die Bitfolge zum deaktivieren des Watchdog. Ich weiss es schlicht nicht, aber als Opcode macht es für mich bislang auch keinen Sinn.
Olli Z. schrieb: > An einen MBR glaube ich eher nicht, denn dann müsste es ja ein BIOS > geben. Ne, natürlich nicht. Aber es könnte hier genau so 55 AA als Signatur genutzt werden. Wird in diversen Formaten gemacht. 55 AA ist binär 01010101 10101010 und auf Datenleitungen per Oszilloskop schön sichtbar ;-)
Inzwischen habe ich herausgefunden das dieser Teil der Software nicht ab adresse 0x0000 in internen Flash des MAC steht sondern ab 0x5000. Es ist also weder eine Vectortabelle noch bootcode. In den Image könnte ein RTOS stecken, vielleicht ist es doch eine Signatur.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.