Forum: Mikrocontroller und Digitale Elektronik AVR Flash Verbrauch


von Mr.Burns (Gast)


Lesenswert?

Hallo,

ich habe einen Attiny2313 und programmiere den mit AVR Studio 5 in C.
Würde nun gerne wissen, wieviel Flash / Eprom Speicher ich noch übrig 
habe.
Beim compilieren sehe ich im Output-Fenster folgendes:

Device: attiny2313
Program:     270 bytes (13.2% Full)
(.text + .data + .bootloader)
Data:          2 bytes (1.6% Full)
(.data + .bss + .noinit)

Kann mir bitte jemand sagen, was das nun heißt?
Was heißt (.text + .data + .bootloader) und (.data + .bss + .noinit)?

Vielen Dank schonmal :-)

von Karl H. (kbuchegg)


Lesenswert?

Mr.Burns schrieb:

Vereinfacht ausgedrückt

> Device: attiny2313
> Program:     270 bytes (13.2% Full)
> (.text + .data + .bootloader)

Du hast das Flash mit 270 Bytes benutzt. (Es ist zu 13.2% voll)


> Data:          2 bytes (1.6% Full)
> (.data + .bss + .noinit)

Du hast das SRAM mit statischen Daten zu 1.6% ausgelastet. Zu diesen 
1.6% kommt dann zur Leufzeit des Programmes noch ein Verbrauch dazu, 
denn man allerdings vorab nur schwer einschätzen kann und sich aus dem 
konkreten Programm bzw. der Art und Weise wie sich zb Funkionen aufrufen 
und wieviele lokale Variablen dabei jeweils angelegt werden, entstehen. 
In einem typischen Programm ist man mit einer geschätzten Auslastung von 
~80% auf der sicheren Seite.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mr.Burns schrieb:
> wieviel Eprom Speicher ich noch übrig habe.
Das mußt du ggf. selber ausrechnen, weil der Compiler ja nicht unbedingt 
wissen kann, wieviele Daten du da reinschreibst...

Und sonst gilt:
> Program:     270 bytes (13.2% Full)
= Flash

> Data:          2 bytes (1.6% Full)
= RAM

Wie das in welche Segmente zerteilt ist, ist vorerst uninteressant.

von Christopher G. (cbg)


Lesenswert?


von Christopher G. (cbg)


Lesenswert?

Lothar Miller schrieb:
>> wieviel Eprom Speicher ich noch übrig habe.
> Das mußt du ggf. selber ausrechnen, weil der Compiler ja nicht unbedingt
> wissen kann, wieviele Daten du da reinschreibst...

Ausser du bist brav und beschreibst Blöcke, die du analog zu PGMSPACE 
mit EEMEM den Compiler aussuchen lässt. Dann sagt er dir auch, wieviel 
du verbrauchst.

von Mr.Burns (Gast)


Lesenswert?

Hallo,

danke für die Infos, hat mir sehr geholfen!
Wünschte mir nur eine etwas benutzerreubndlichere Darstellung in AVR 
Studio 5.
Die textmäßige Darstellun im Output-Fenster, zu der man ja auch noch 
hinscrollen muss ist ja nicht gerade eine Augenweide - oder?

von Karl H. (kbuchegg)


Lesenswert?

Mr.Burns schrieb:
> Hallo,
>
> danke für die Infos, hat mir sehr geholfen!
> Wünschte mir nur eine etwas benutzerreubndlichere Darstellung in AVR
> Studio 5.
> Die textmäßige Darstellun im Output-Fenster, zu der man ja auch noch
> hinscrollen muss ist ja nicht gerade eine Augenweide - oder?

Ist mir immer noch lieber als 25 Fenster, die ständig irgendwo 
aufpoppen.
Die Information kommt vom Linker, der per Definition ja eigentlich nicht 
zum AVR-Studio gehört. AVR-Studio bindet ihn nur insofern ein, dass er 
von dort automatisch bei Bedarf aufgerufen wird.

Die Information ist zwar wichtig, aber so wichtig auch wieder nicht, 
dass ich sie nach jedem Build-Lauf kontrollieren muss. Mit 13% bist du 
weit weg von jeglichen Problemen, so dass du die nächsten 500 Codezeilen 
da kein Augenmerk drauf werfen musst.

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.