Eclipse GCC Compiler (wie Anleitung in µC.net) erzeugt rießen Files

Gast #2561387
Hallo zusammen,

ich benutze Eclipse um einen Cortex M3 zu programmieren.
Funktionierte bisher immer gut, bis gestern "irgendwas" nicht gepasst 
hatte.

War ein Problem mit den Verlinkungen auf die Libs und den Compiler. 
Nunja... jedenfalls habe ich das Problem gefunden und behoben und die 
erste .hex Datei wieder compiliert (ca.700kb Zeit: 13.13 als Beweis).

Nun wollte ich zusätzlich noch binary erzeugen. Also habe ich (wie 
immer) in den Project Properties/sourcery ... create flash image/output 
auf binary umgestellt.
Es hat auch soweit durchgebaut, nur das dieses neue Kompilat nun 130MB 
(!!, anstatt 200kb) grob war. Also hab ich wieder zurück auf ihex 
umgestellt um die hex zu erstellen. Die nun erzeugte .hex war jetzt auch 
so rießen groß, mit ca. 350MB.

Woran kann das liegen?!

Wäre super wenn mir jemand Tipps geben könnte.
Gast
Hab gerade eben auch mal eine 402 MB große bin Datei erstellt ;)

Der Grund war einfach ein vergessenes  "AT > rom" am Ende der neu 
erstellten Section im Linkfile.
Gast
Das Problem liegt bei den Adressen im linker script. Ich nehm mal stark 
an, das hex file ist genauso groß. Im hex file stehen die Adressen und 
die Daten, die an diese Adressen geschrieben werden sollen. Wenn das in 
ein binary file umgewandelt wird, dann werden die Daten sozusagen am 
Stück geschrieben. Es gibt keine Lücken. Wenn du z.B. 10 Byte Daten 
hast, die an Adresse 0 geschrieben werden sollen und 10 an Adress 
1000000, dann ist die Datei statt 20 Byte 1 MByte groß. Du musst also 
unbedingt das Linker script kontrollieren und die mit objdump mal das 
elf file anzeigen lassen, um zu sehen, welche section an welcher Adresse 
steht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.