Forum: Compiler & IDEs Nächstes Problem: Codegröße


von Axel Schindler (Gast)


Lesenswert?

Nachdem das Compilieren jetzt klappt habe ich das nächste Problem:
Habe als Test die LCD-Ansteuerung von Peter Fleury 
(http://jump.to/fleury) compiliert. Also das test_lcd.c
Beim Ponyproggen hat mich fast der Schlag getroffen. Das kleine Programm 
hat fast 6k programmspeicher meines 8535 belegt. Es ist gerade so als 
würde der komplette Code gelinkt werden. Bisher hatte die Hex-Datei vom 
selben Code  2,1kb, jetzt hat das hexfile fast 16kb.

Zuerst hatte ich den Verdacht, dass der code so groß wurde nachdem ich 
den LCD port auf PORTC gelegt hatte. Aber nach dem Rückstellen auf PORTA 
hat sich nichts verändert.

Mit dem makefile, das dabei war wird ein rom-file erzeugt, das gerade 
mal 1,86kb hat.

Wenn die makefiles nicht so schrecklich kompliziert wären...

Any tips?

von Axel Beierlein (Gast)


Lesenswert?

Habe unter Allgemein ebenfalls das Problem mit der Codegröße mal 
angesprochen.

Mit einem anderen als den GCC Compiler bekomme ich wesentlich weniger 
Code bei gleichem Sourcecode.

Ich bin auch ratlos !

Wenn ich etwas weiss lass ich es dich wissen.

ciao
Axel

von Axel Schindler (Gast)


Lesenswert?

Komischerweise war ja alles mit gcc compiliert, und bei 3 verschiedenen 
makefiles kamen 3 verschiedene codegrössen raus. Und die unterschiede 
sind heftig

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Siehe http://www.mikrocontroller.net/forum/read-2-27295.html. Ich hoffe 
dass das nicht die Standardversion des WinAVR-Makefiles ist.

von Joerg Wunsch (Gast)


Lesenswert?

Leider, Eric hat da versehentlich ein Beispiel unkommentiert
gelassen in seiner letzten Version.  Ist erst bemerkt worden,
als es der erste das in AVRfreaks.net berichtet hat...

von Axel Schindler (Gast)


Lesenswert?

Doch es ist das Standard makefile der neuen AVRWin version.
Habe nur uC und targetname geändert
ausserdem die zeile mit foo.c auskommentiert.

Hier nochmal die data-grössen laut avr-size:

aktuelles AVRWin:
avrwin makefile: 5536
makefile der LCD Testdatei (rom-datei): 674

älteres avr-gcc mit avrfreaks-makefile von nov 2001: 760

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.