www.mikrocontroller.net

Forum: Compiler & IDEs Ist das eine Verbesserung?


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe eine Funktion umgebaut und eine paar Konstanten-Arrays ins 
Flash verlagert.

Ich werde aus der Meldung nicht ganz schlau (gibt's da ne Erklärung zu?) 
aber nehme an, dass die 64 Bytes ".data" jetzt zum .text gezählt werden, 
und durch das geänderte Programm 32 Bytes gespart werden. Stimmt's?

Was ist den der Bereich .data, in dem anscheinend const variablen 
untergebracht werden?
Size before:
main.elf  :
section            size      addr
.text              1460         0
.data                64   8388704
.bss                 25   8388768
.stab              1692         0
.stabstr             84         0
.debug_aranges      264         0
.debug_pubnames     576         0
.debug_info        3587         0
.debug_abbrev      1405         0
.debug_line        3267         0
.debug_frame        432         0
.debug_str          991         0
.debug_loc         2292         0
.debug_ranges       288         0
Total             16427
Size after:
main.elf  :
section            size      addr
.text              1492         0
.bss                 25   8388704
.stab              1692         0
.stabstr             84         0
.debug_aranges      264         0
.debug_pubnames     584         0
.debug_info        3594         0
.debug_abbrev      1392         0
.debug_line        3209         0
.debug_frame        432         0
.debug_str          985         0
.debug_loc         2349         0
.debug_ranges       288         0
Total             16390

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast schrieb:

> Was ist den der Bereich .data, in dem anscheinend const variablen
> untergebracht werden?

In .data liegen die ungleich Null initialisierten globalen und statisch 
lokalen Variablen. Also z.B.
uint8_t var = 47;

Übrigens beansprucht .data in gleichem Maße Platz im RAM (für die 
Variable), wie auch im Flash (für den Initialisierungswert).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.