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


von Andreas (Gast)


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.

von hp-freund (Gast)


Lesenswert?

Leg doch einfach ein neues Projekt an und versuch es noch mal.

Vielleicht ist in irgend einem makefile ein * zu viel.

von hp-freund (Gast)


Lesenswert?

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.

von ... (Gast)


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.

von hp-freund (Gast)


Lesenswert?

... schrieb:
> Ich nehm mal stark
> an, das hex file ist genauso groß.

Nein, ist es nicht. Da wird einfach mit der neuen Adresse ein neuer 
Abschnitt erstellt...

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.