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

Gast #2561387
Lesenswert?

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 #2567784
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren