Abo
  • Services:
Anzeige
Code des Bootloaders
Code des Bootloaders (Bild: Christer Weinigel)

Die erste Datei

Es sieht so aus, als ob das Dateisystem nach 640 KByte (0xa0000) im Speicherabbild beginnt. Hier die erste Sektion im Flash, auch Page genannt:

000a0000  01 ff ff ff 01 00 00 00  ff ff 66 70 00 00 00 00  |..........fp....|
000a0010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000a0100  00 00 00 00 00 00 00 00  00 00 ff ff 80 f1 00 00  |................|
000a0110  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000a0120  00 00 00 00 00 00 00 00  ff ff ff ff ff ff ff ff  |................|
000a0130  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
000a01c0  ff ff ff ff ff ff ff ff  ff ff ff ff 00 00 00 00  |................|
000a01d0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
000a01e0  ff ff ff ff ff ff ff ff  00 00 00 00 ff ff ff ff  |................|
000a01f0  ff ff ff ff ff ff ff ff  00 00 00 00 00 00 00 00  |................|
000a0200  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
000a07e0  ff ff ff ff ff ff ff ff  ff ff ff ff 00 00 00 00  |................|
000a07f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

Jede Sektion ist 2 KByte groß und nachdem ich mein Gehirn eingeschaltet habe, scheint es mir klar, dass 01 ff ff ff 01 00 00 00 eine magische Markierung ist und "fp" der Dateiname.

000a0800  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
000a0810  55 99 aa 66 0c 85 00 e0  04 00 8c 85 c0 01 8c 82  |U..f............|
000a0820  bc 00 8c 86 90 77 8c 43  20 00 08 c9 0c 87 00 f3  |.....w.C .......|
000a0830  0c 83 00 81 04 00 04 00  04 00 04 00 04 00 04 00  |................|
000a0840  04 00 04 00 04 00 04 00  04 00 04 00 04 00 04 00  |................|
000a0850  04 00 04 00 04 00 cc 81  3c 13 8c 81 10 81 2c 84  |........<.....,.|
000a0860  00 00 4c 80 00 f8 8c 87  ff ff cc 84 00 a0 cc 82  |..L.............|
000a0870  00 20 cc 80 80 00 4c 86  00 00 4c 81 00 00 4c 85  |. ....L...L...L.|
000a0880  00 00 4c 83 00 00 4c 87  00 00 cc 85 d8 47 cc 43  |..L...L......G.C|
000a0890  00 00 00 00 04 00 04 00  0c 44 00 00 00 00 0c 85  |.........D......|
000a08a0  00 80 0a 06 00 40 19 b5  00 00 00 00 00 00 00 00  |.....@..........|
000a08b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

Die Daten ab 0xa0800 kommen mir bekannt vor, wo habe ich das schon einmal gesehen?

Es ist der Anfang eines Xilinx-Spartan-6-Bitstroms, wie ich ihn schon einmal in einem Blogpost gesehen habe! Auch der Dateiname "fp" für den FPGA-Bitstrom liegt nahe.

  • Diasembler-Ausgabe (Bild: Christer Weinigel)
  • Diasembler-Ausgabe  (Bild: Christer Weinigel)
  • Diasembler-Ausgabe (Bild: Christer Weinigel)
  • FPGA-Quellcode (Bild: Christer Weinigel)
  • Owon-Bootscreen (Bild: Christer Weinigel)
FPGA-Quellcode (Bild: Christer Weinigel)

Die Bits in den Daten sehen verdreht aus, aber das ist üblich. Xilinx' eigene Werkzeuge arbeiten damit und die Daten entsprechen deren Standardausgabe.

Anzeige

Ein wenig später taucht eine Sektion mit einem fast identischen Anfang auf, wahrscheinlich markiert sie das Dateiende.

000f4800  01 ff ff ff 01 00 00 00  ff ff 66 70 00 00 00 00  |..........fp....|
000f4810  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000f4900  00 00 00 00 00 00 00 00  00 00 ff ff 80 f1 00 00  |................|
000f4910  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000f4920  00 00 00 00 7c 32 05 00  ff ff ff ff ff ff ff ff  |....|2..........|
000f4930  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
000f49c0  ff ff ff ff ff ff ff ff  ff ff ff ff 00 00 00 00  |................|
000f49d0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
000f49e0  ff ff ff ff ff ff ff ff  00 00 00 00 ff ff ff ff  |................|
000f49f0  ff ff ff ff ff ff ff ff  00 00 00 00 00 00 00 00  |................|
000f4a00  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
000f4fe0  ff ff ff ff ff ff ff ff  ff ff ff ff 00 00 00 00  |................|
000f4ff0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

Allerdings gibt es auch einige Unterschiede, im Dateikopf steht am Index 0x224 der Wert 00 00 00 00, am Dateiende hingegen 7c 32 05 00. Hmm... Wie groß sind alle Sektionen zwischen dem Dateikopf und seinem Ende? 0Xf4800 - 0xa0800 = 0x54000. Wenn ich den Wert 0x5327c vom Dateiende nehme und aufrunde, entspricht es diesem Wert. Das Feld könnte der Dateigröße entsprechen.

Eine Kopie der ersten Datei

Die nächste Sektion scheint der Dateikopf einer Datei namens "fpcp" zu sein.

000f5000  01 ff ff ff 01 00 00 00  ff ff 66 70 63 70 00 00  |..........fpcp..|
000f5010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000f5100  00 00 00 00 00 00 00 00  00 00 ff ff 80 f1 00 00  |................|
000f5100  00 00 00 00 00 00 00 00  00 00 ff ff 80 f1 00 00  |................|
000f5110  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000f5120  00 00 00 00 00 00 00 00  ff ff ff ff ff ff ff ff  |................|
000f5130  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|

Der Inhalt entspricht dem der Datei "fp". Womöglich handelt es sich um ein Backup des FPGA-Bitstreams in einer zweiten Datei.

000f5800  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
000f5810  55 99 aa 66 0c 85 00 e0  04 00 8c 85 c0 01 8c 82  |U..f............|
000f5820  bc 00 8c 86 90 77 8c 43  20 00 08 c9 0c 87 00 f3  |.....w.C .......|
000f5830  0c 83 00 81 04 00 04 00  04 00 04 00 04 00 04 00  |................|
000f5840  04 00 04 00 04 00 04 00  04 00 04 00 04 00 04 00  |................|

Das "fpcp"-Dateiende sieht genauso aus wie für "fp" mit der Dateiangabe am Index 0x124:

00149800  01 ff ff ff 01 00 00 00  ff ff 66 70 63 70 00 00  |..........fpcp..|
00149810  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00149900  00 00 00 00 00 00 00 00  00 00 ff ff 80 f1 00 00  |................|
00149910  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00149920  00 00 00 00 7c 32 05 00  ff ff ff ff ff ff ff ff  |....|2..........|
00149930  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
 Der Second-Stage-Bootloader ist als Nächstes dranDie Param-Datei 

eye home zur Startseite
mifish 24. Nov 2016

+1 interessanter artikel

muhviehstah 23. Nov 2016

wäre binwalk hierbei nicht hilfreich gewesen?

muhviehstah 23. Nov 2016

kt

Elchinator 22. Nov 2016

Das wesentlichste Teil - die Hardware - scheint ja ab Werk durchaus brauchbar zu sein...

derdiedas 22. Nov 2016

Danke Golem - und nun bin ich doch wieder motiviert - zwar kein Linux zu installieren...



Anzeige

Stellenmarkt
  1. Landeshauptstadt München, München
  2. Diakonie-Klinikum Stuttgart Diakonissenkrankenhaus und Paulinenhilfe gGmbH, Stuttgart
  3. ORBIT Gesellschaft für Applikations- und Informationssysteme mbH, Bonn
  4. OEDIV KG, Bielefeld


Anzeige
Spiele-Angebote
  1. 49,99€
  2. 109,99€/119,99€ (Vorbesteller-Preisgarantie)
  3. 59,99€/69,99€ (Vorbesteller-Preisgarantie)

Folgen Sie uns
       


  1. Kubic

    Opensuse startet Projekt für Container-Plattform

  2. Frühstart

    Kabelnetzbetreiber findet keine Modems für Docsis 3.1

  3. Displayweek 2017

    Die Display-Welt wird rund und durchsichtig

  4. Autonomes Fahren

    Neues Verfahren beschleunigt Tests für autonome Autos

  5. Künstliche Intelligenz

    Alpha Go geht in Rente

  6. Security

    Telekom-Chef vergleicht Cyberangriffe mit Landminen

  7. Anga

    Kabelnetzbetreiber wollen schnelle Analogabschaltung

  8. Asus

    Das Zenbook Flip S ist 10,9 mm flach

  9. Hate Speech

    Facebook wehrt sich gegen Gesetz gegen Hass im Netz

  10. Blackberry

    Qualcomm muss fast 1 Milliarde US-Dollar zurückzahlen



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Quantencomputer: Nano-Kühlung für Qubits
Quantencomputer
Nano-Kühlung für Qubits
  1. IBM Q Mehr Qubits von IBM
  2. Quantencomputer Was sind diese Qubits?
  3. Verschlüsselung Kryptographie im Quantenzeitalter

XPS 13 (9365) im Test: Dells Convertible zeigt alte Stärken und neue Schwächen
XPS 13 (9365) im Test
Dells Convertible zeigt alte Stärken und neue Schwächen
  1. Prozessor Intel wird Thunderbolt 3 in CPUs integrieren
  2. Schnittstelle Intel pflegt endlich Linux-Treiber für Thunderbolt
  3. Atom C2000 & Kaby Lake Updates beheben Defekt respektive fehlendes HDCP 2.2

Calliope Mini im Test: Neuland lernt programmieren
Calliope Mini im Test
Neuland lernt programmieren
  1. Arduino Cinque RISC-V-Prozessor und ESP32 auf einem Board vereint
  2. MKRFOX1200 Neues Arduino-Board erscheint mit kostenlosem Datentarif
  3. Creoqode 2048 Tragbare Spielekonsole zum Basteln erhältlich

  1. Re: Funktioniert ja auch super

    Lagganmhouillin | 13:31

  2. Re: Für das gleiche Geld kriege ich einen ganzen...

    AngryFrog | 13:30

  3. Re: Neural Network

    Natz | 13:28

  4. Re: Und De Maizire....

    Lagganmhouillin | 13:28

  5. Re: "Hass im Netz" klingt nach Zensur für mich

    Trollversteher | 13:27


  1. 12:54

  2. 12:41

  3. 11:58

  4. 11:25

  5. 10:51

  6. 10:50

  7. 10:17

  8. 10:12


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel