Leeres Programm schon 2490 byte groß?

#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
#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

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