Leeres Programm schon 2490 byte groß?

OP #2270442
Lesenswert?
• ▲
▼
Hallo Zusammen,

Verwende einen ATmega88  mit 8kb Programmspeicher.
Jetzt hab ich plötzlich beim Brennen die Meldung bekommen, das der 
Speicher voll ist.
Kann das jedoch nicht ganz nachvollziehen, da der Code bissher noch 
recht übersichlich ist.
Um zu gucken was mir den Speicher "frisst" habe ich mal nach und nach 
alles auskommentiert. Das Hexfile wurde dann zwar immer kleiner, jedoch 
komm ich nicht unter 2490 Byte.
Bin jetzt so weit gegangen, das ich ein neues Projekt erstellt habe 
worin nur die main() und eine while(1) steht, sonst nix. Leider ist das 
hexfile immer noch 2490 byte groß.

Wie kann das sein ? Kann das am Makefile liegen ?

Ich verwende eclipse mit den avr dude als programmer.

Viele Grüße
Christian
Angehängte Dateien:
#2270481
Lesenswert?
• ▲
▼
holger schrieb:
> OPT = s
ok, übersehen, hab direkt nach -O[s123] gesucht



Marco L. schrieb:
> Die printf und math Bibliothek brauchen halt einiges an Speicher,
> kommentier die doch mal im Makefile aus.

eigentlich sollte der linker doch aber nicht benutzte funktionen 
rausschmeißen, oder nicht?

man könnte nochmal -ffunction-sections probieren, ich meine aber, dass 
sollte auch so gehen, in den avr-studio makefiles steht das sonst ja 
auch nicht drin
#2270810
Lesenswert?
• ▲
▼
Du linkst das float printf dazu.
Ohne sinds 76 Byte:
1
D:\WORK\AVR_C\FORUM>a
2
4.3.3
3
AVR Memory Usage
4
----------------
5
Device: atmega88
6

7
Program:    2940 bytes (35.9% Full)
8
(.text + .data + .bootloader)
9

10
Data:          0 bytes (0.0% Full)
11
(.data + .bss + .noinit)
12

13

14

15
D:\WORK\AVR_C\FORUM>a
16
4.3.3
17
AVR Memory Usage
18
----------------
19
Device: atmega88
20

21
Program:      76 bytes (0.9% Full)
22
(.text + .data + .bootloader)
23

24
Data:          0 bytes (0.0% Full)
25
(.data + .bss + .noinit)

Peter
OP #2271015
Lesenswert?
• ▲
▼
Hallo nochmal,

Vielen Dank für die superschnelle Hilfe! Das makefile verwende ich schon 
eine Weile für einen mega 32. Ist mir da bestimmt nur nicht 
aufgefallen,da der Speicher hier ja viel größer ist.
Wenn ich wie beschrieben die float libary  auskommentiere ist mein 
leerer Code 76 Byte groß. :-)
Aber ich dachte bisher eigentlich auch das der linker nicht verwendete 
Funktionen usw weglässt.
Naja,dann danke nochmals für die Hilfe, jetzt komme ich erst mal weiter.
Viele grüße
Christian

Antwort schreiben

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.

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.