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

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.