- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 4 von 4

Thema: ATtiny13 : Out of SRAM

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.04.2005
    Beiträge
    178

    ATtiny13 : Out of SRAM

    Anzeige

    Powerstation Test
    Ich habe versucht , ein Programm, das mit der Version 1.11.7.9 lief mit der 1.11.8.1 zu compilieren. Dann kam die Meldung "Out of SRAM", sobald der Befehl DIM A as Byte im Programm stand. Nach meheren Versuchen kam ich dann zu folgender Lösung:

    Wenn man $HWSTACK=16 oben ins Programm setzt, dann läuft es. In der vorherigen Version war das nicht erforderlich.

    Hat Mark Alberts da was im Programm geändert oder in der attiny13.dat?

    felack

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    37
    Beiträge
    4.255
    Die Voreinstellung für den Stack ist 32 (Byte???). Du begrenzt den Stack nun durch den Compilerbefehl auf 16. Das spart natürlich RAM, aber du läufst gleichzeitig stärker in Gefahr, nen Stack Overflow zu erleiden... wenn das Programm also bei vielen gosubs und rekursiven Aufrufen zum Aufhängen oder Rumspinnen neigt, nicht wundern...

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.04.2005
    Beiträge
    178
    Wie aus der Überschrift ersichtlich, handelt es sich hier um einen ATtiny13, der hat nur 64 Byte RAM.Die Frage ist, braucht jede Stackposition 2 Byte? dann ist bei $HWSTACK=32 das RAM voll und nix geht mehr. Steht die Stackgröße in der attiny13.dat oder nur in den Compileroptionen?

    felack

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    37
    Beiträge
    4.255
    Zitat Zitat von felack
    Wie aus der Überschrift ersichtlich, handelt es sich hier um einen ATtiny13, der hat nur 64 Byte RAM.Die Frage ist, braucht jede Stackposition 2 Byte? dann ist bei $HWSTACK=32 das RAM voll und nix geht mehr.
    Die 32 in den Optionen scheint in Bytes gemessen zu sein, man könnte dann also 16 Aufrufe per Stack verwalten und hätte den halben RAM belegt...

    Steht die Stackgröße in der attiny13.dat oder nur in den Compileroptionen?
    Schau doch selbst nach! Beim groben überfliegen hab ich in der .dat nichts gefunden...


    Wie komplex ist denn dein Programm? Muss viel gepoppt werden?

Berechtigungen

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

12V Akku bauen