Speicher auf ATmega32 läuft über

Gast #1282272
Lesenswert?

Guen Abend Comm,
ich programmiere zur Zeit an enem ATmega32.
Siet zwei Sunden ist mir aufgefallen, dass der belegte Speicher auf dem 
Mega32 über 15% liegt, dann hab ich eine float Variable entfernt, die in 
meinem Code stand, da ich weiß dass diese ganz schön Platz auf dem 
Controller brauchen. Siehe da der belegte Speicher schrumpfte auf ca. 4% 
, so wie vorher eigentlich! Nun ist das schon wieder so, aber diesesmal 
hab ich ganz sicher keine float Variable in meinem Code, aber der Platz, 
wird trozdem wieder weniger.
Kann es sein, dass es bei zu oftem Programmieren zu einer 
Speicherreduzierung kommen kann, da im Datenblatt etwas von 10.000 mal 
beschreibbar steht. Dass es sich so langsam abbaut? Ich habe den 
Controller seit ca. einem Monat und programmier an diesem jeden Tag aber 
dass es jetzt  so schnell geht.
Es kann sein dass es an meinem Code liegt, doch diesen hab ich mehrere 
male überprüft, und nichts gefunden.

Guten Abend noch und schöne Pfingsten

Hans
Gast #1282574
Lesenswert?

Lol nee ich hab in meinem Compiler halt unten nach dem kompilieren steht 
das ja dran, und da stand das:

Program:    3464 bytes (10.6% Full)
(.text + .data + .bootloader)


;) Geld für nicht belegten speicher, der war gut :D:D:D
#1282580
Lesenswert?

Hans schrieb:
> Lol nee ich hab in meinem Compiler halt unten nach dem kompilieren steht
> das ja dran, und da stand das:
>
> Program:    3464 bytes (10.6% Full)
> (.text + .data + .bootloader)

Was sebastian (Gast) mit "Wie hast du das festgestellt?" meinte ist eben 
genau das. Der Compiler hat keine Ahnung wie viel Speicher dein ATMEGA32 
wirklich hat. Davon abgesehen das er nach ein paar mal beschreiben 
sicher nicht weniger wird.

Der Prozentwert wird berechnet in dem er davon ausgeht das er 32KB hat. 
Der Fehler muss also in deinem Code liegen.
Persönliche Seite #1282625
Lesenswert?

Hannes Lux schrieb:
>> Übrigens gibts kein Geld für nicht genuzten Speicher zurück ;)
>
> Das ist aber noch lange kein Grund, ihn sinnlos zu verquasen... ;-)
>
> Frohen Rest vom Pfingstfest...
>
> ...
Nein das nicht aber sich in einem Stadium wo der Flash 14% voll ist 
sorgen zu machen wie man ihn weniger stark auslastet weiler "über läuft" 
halte ich doch für arg übertrieben :P
#1282631
Lesenswert?

Wenn Hans sich nicht sicher ist was bei ihm soviel Speicher frisst 
(Kandidaten sind da Dinge wie Floats, sprintf(), usw.) soll er mal Code 
posten dann können wir ihm schon sagen was am meisten Speicher frisst.

Und das wichtigste hätt ich beinahe vergessen: Welche OPTIMIERUNGSSTUFE 
ist beim Compiler eingestellt.

Und 14% is eh so gut wie nix.
Gast #1283808
Lesenswert?

@Christian Paier
Der Compiler weiß nicht wieviel Speicher der MCU hat?
Ich nehm mal an der Output den der OP gepostet hat ist aus 
WIN-AVR/AVR-GCC und da kann/muss man ja im makefile angeben welchen MCU 
man verwendet. Vielleicht guckt der Compiler dort nach und gibt daher 
den richtigen %-Wert an?

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