Forum: Compiler & IDEs Funktionierendes Program durch Funktion nicht mehr lauffähi


von andi (Gast)


Lesenswert?

hi
habe ein projekt für den atmega geschrieben - ca 5k.
läuft ohne probleme
durch einfügen einer weiteren funktion in den code, die aber nie 
aufgerufen wird, ist das programm nicht mehr lauffähig - es lässt sich 
zwar alles brav kompilieren aber es tut nichts mehr...?!?
woran könnte das liegen ?

vielen dank

von andi (Gast)


Lesenswert?

habe das file mal aufgesplittet in mehrere - jetzt gehts mal
gibt es eine beschränkung von funktionen bzw funktionsaufrufen pro file 
?

danke

von andi (Gast)


Lesenswert?

hm sehr interessant:
es geht nur mit optimize=3 ... mit optimize=0 gehts nicht

=======================================
mit optimize=3:
=======================================
Size after:
simple.elf  :
section            size      addr
.data                92   8388864
.text              5560         0
.bss                 10   8388956
.noinit               0   8388966
.eeprom               0   8454144
.stab              1032         0
.stabstr            132         0
.debug_aranges       60         0
.debug_pubnames     565         0
.debug_info        8638         0
.debug_abbrev      1022         0
.debug_line        5682         0
.debug_str          578         0
.debug_ranges        12      5560
Total             23383

=======================================
mit optimize=0:
=======================================
Size after:
simple.elf  :
section            size      addr
.data                92   8388864
.text              6206         0
.bss                 10   8388956
.noinit               0   8388966
.eeprom               0   8454144
.stab              1032         0
.stabstr            132         0
.debug_aranges       60         0
.debug_pubnames     565         0
.debug_info        4033         0
.debug_abbrev       751         0
.debug_line        2713         0
.debug_str          162         0
Total             15756

von Magnus Müller (Gast)


Lesenswert?

Mit optimize=0 wird nicht optimiert. Es wird quasi der größtmögliche 
Code (23383 Bytes) generiert.

Mit optimize=3 wird dein compilierter Code kleiner (15756 Bytes).

Kann es sein, dass dein Controller nur 16KB Flasch hat?

Gruß,
Magnetus

von stephan (Gast)


Lesenswert?

nein ist eh ein atmega128
effektiver code ist ja nur ca 6kb - der rest ist ja nur debug

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.