-
        

Ergebnis 1 bis 3 von 3

Thema: Hilfe! Mein Speicherplatz!

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    28
    Beiträge
    1.461

    Hilfe! Mein Speicherplatz!

    Anzeige

    Hi!

    Ich habe ein AVR-GCC-Programm geschrieben, das war so ungefähr 35% des Speicherplatzes vom M8 groß (mit -O3).

    Nun hab ich die ein oder andere Variable volatilisiert (volatile uint8_t, global).
    Und der benötigte Speicherplatz ist um glatt 50% gewachsen, nämlich auf gut 83%.

    Das kanns doch irgendwie nicht sein, oder?

    (Mei, das wird so ne n00b-Frage sein.)

    Thx schonmal,
    Tobi

    PS: AVRGCC auf neuerster Version, AVRStudio upgedated auf 4.13 b...
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    31.12.2006
    Ort
    Wien
    Alter
    54
    Beiträge
    8
    Hmm, das ist natürlich eine Menge...

    Volatile bedeutet, dass die Variable bei jedem Zugriff neu aus dem RAM geladen wird (und bei Veränderung gleich wieder zurückgeschrieben) wird, also nicht in einem Register gehalten werden kann (sie könnte ja zwischenzeitlich durch eine Interruptroutine verändert worden sein). LDS (Load) und STS (Store) konsumieren jeweils 4 Byte zusätzlich.

    Du könntest auch mal -Os probieren, das ist gelegentlich etwas sparsamer.

    Informativ ist auch ein Blick in die .lss Datei vorher/nachher, da siehst Du den generierten Assembler-Code und damit genau, wo der Mehrverbrauch stattfindet.

    LG
    Wolfgang

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    28
    Beiträge
    1.461
    Hi

    hm. lustig. Mit -Os ist der spaß nur noch 29% groß.
    Thanx a lot!

    VLG Tobi .o0O(Warum sind das immer die Dinge, auf die man nicht kommt, die einem weiterhelfen?)
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •