mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Boot Freescale MAC7116


Autor: Olli Z. (z80freak)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: Dennis H. (c-logic)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Olli Z. (z80freak)
Datum:

Bewertung
0 lesenswert
nicht 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:
000000007cc755aa cfstr64vc mvdx5, [r7], {170}
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
Autor: Dr. Sommer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Olli Z. (z80freak)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dr. Sommer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 
;-)

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.