Forum: Mikrocontroller und Digitale Elektronik Atmega 32 genügend Speicher ?


von Werner (Gast)


Lesenswert?

Hallo zusammen

Ich habe ein Atmega 32 den ich mit dem AVR Studio 5 programmiere. Gibt 
es eine Möglichkeit festzustellen wieviel freien Speicher man noch hat ?

Vielen Dank

von Oliver S. (oliverso)


Lesenswert?

Wenn das Studio das nicht nach dem Kompilieren anzeigt, ist das nicht so 
einfach.

Aber was spricht dagegen, an Stelle der unsagbar fehlerhaften 
Uraltversion 5 die aktuelle Version 7 zu nutzen? Dann klappt es auch 
wieder mit der Speicherverbrauchsanzeige.

Oliver

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Werner schrieb:
> Ich habe ein Atmega 32 den ich mit dem AVR Studio 5 programmiere. Gibt
> es eine Möglichkeit festzustellen wieviel freien Speicher man noch hat ?

Das kommt drauf an, welchen Speicher du meinst. Die Belegung des 
Flash-Speichers kannst du dem Hex-File entnehmen.

von c-hater (Gast)


Lesenswert?

Werner schrieb:

> Ich habe ein Atmega 32 den ich mit dem AVR Studio 5 programmiere.

Warum um alles in der Welt tut man sich dies an? Das Studio5 ist genauso 
elend langsam wie das Studio7, aber wenigstens hat Atmel 
zwischenzeitlich eine Riesenmenge Bugs gefixed...

> Gibt
> es eine Möglichkeit festzustellen wieviel freien Speicher man noch hat ?

Eigentlich: Nein, völlig unmöglich. Da normalerweise alle verfügbaren 
Speicherarten (SRAM, EEPROM und Flash) zur Laufzeit über das zur 
Designzeit bekannte Mass hinaus genutzt werden können und zumindest im 
Falle von SRAM auch bei debiler C-Programmierung regelmäßig genutzt 
werden (in Form des Stacks).

von Stefan S. (sschultewolter)


Lesenswert?

Finde persönlich das Atmel Studio 7 besser gelungen als die 6er Version. 
Endlich sind die von dem altem "Framework" runter. Vorallem ist das 
arbeiten mit einem dunklen Design deutlich angenehmer.

Alternativ ist aber nichts gegen einen alternativen Texteditor mit 
Indent einzuwenden und die Files manuell über die Konsole zu erstellen.

von M. K. (sylaina)


Lesenswert?

Und solange wir nicht wissen, welchen Speicher der TE meint, werden wir 
die Frage nicht beantworten können. Mir fallen im Atmega32 spontan 
folgende Speicher ein: Flash, EEProm, SRAM. OK, den Flash Bedarf kann 
man noch aus dem Hexfile ableiten aber bei EEPRom und SRAM wirds schon 
kniffliger.

von Peter R. (pnu)


Lesenswert?

Oliver S. schrieb:

> Aber was spricht dagegen, an Stelle der unsagbar fehlerhaften
> Uraltversion 5 die aktuelle Version 7 zu nutzen?

Die neue Version hat viel mehr Features und deswegen AUCH VIEL MEHR 
FEHLER.
(Das ist ein Naturgesetz).

Außerdem:

Die einfachere Handhabung ist sehr angenehm. Viele zusätzliche Dinge 
nutzt man garnicht.

Viele Programmiermöglichkeiten sind einfach entfernt worden, da sie auch 
mit clones nutzbar waren.

Wir sind doch nicht in der haute couture, wo "neuer" mit "besser" 
gleichgesetzt wird, obwohls zu 90% der alte Wein aus den 50ern oder 
60ern in neuen Schläuchen ist.

btw: bei Compilieren meiner Assemblerprogramme (in Studio 4.19!) wird 
immer angegeben, wieviel Programmspeicherbereich belegt wurde.

: Bearbeitet durch User
von Timmo H. (masterfx)


Lesenswert?

Wenn nicht im Command Output Window.
Tools => External Tools => Add Name "Size", Command "C:\Programme\Atmel 
Toolchain\AVR8 GCC\Native\3.4.1061\avr8-gnu-toolchain\bin\avr-size".exe" 
(PFAD natürlich anpassen), Arguments "-C $(TargetPath)"

Pfad natürlich anpassen. Ich habe es aber noch so in erinnerung dass das 
automatisch nach dem Kompilieren aufgerufen wird.

: Bearbeitet durch User
von Oliver S. (oliverso)


Lesenswert?

Peter R. schrieb:
> ..

bla bla.

Studio 5 bis 7 basieren alle auf Visual Studio, haben die selben 
Features, und sind identisch in der Handhabung. Nur die Umsetzung 
variiert.

Studio 5 war unbrauchbar, Studio 6 wurde mit steigender Versionsnummwr 
weniger schlecht, Studio 7 ist noch weniger schlecht.

Oliver

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.