mikrocontroller.net

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


Autor: Axel Schindler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Axel Beierlein (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Axel Schindler (Gast)
Datum:

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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Axel Schindler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.