Forum: Mikrocontroller und Digitale Elektronik Boot Freescale MAC7116


von Olli Z. (z80freak)


Angehängte Dateien:

Lesenswert?

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?

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

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.

von Olli Z. (z80freak)


Lesenswert?

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
von Dr. Sommer (Gast)


Lesenswert?

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.

von Olli Z. (z80freak)


Lesenswert?

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.

von Dr. Sommer (Gast)


Lesenswert?

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 
;-)

von Olli Z. (z80freak)


Lesenswert?

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
Noch kein Account? Hier anmelden.