Problem mit stackcheck.lib (v2.0.7.8)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Problem mit stackcheck.lib (v2.0.7.8)

      Hallo an die Experten,
      ich habe ein Programm, das seltsame Fehlfunktionen hat, sobald Stackcheck.lib drin ist.
      Bascom Version 2.0.7.8 In Stackcheck.lib steht: history=version 2077

      Prozessor: Atmega 1284p

      Sobald die LIB eingebunden ist, habe ich Fehlfunktionen, z.B. eine Ausgabe per LCD (mit festem Text) wird in der Anzeige abgeschnitten und durch Müll ersetzt.

      Upperline
      Lcd "SMS:" ; Dest ; " "
      Lowerline
      Lcd "Senden im Gang..."

      Die beiden LCD-Befehle bringen den Anfang vom Text und dann Müll. z.B. obere Zeile SM[Hiroglyphen] untere Zeile: Send[Hiroglyphen]

      Problem tritt offenbar auf, seitdem Flash über 50% benutzt wird.

      Speicher/Stack-Config:
      $hwstack = 600 ' erst mal etwas größer anfangen
      $framesize = 1000 ' gleich zu $Framesize!!!!!!!!!!!!!
      $swstack = 600 ' erst mal etwas größer anfangen


      $lib "stackcheck.lib"

      $hwcheck
      $softcheck
      $framecheck


      Wenn ich die Speichergrößen Berechne, dann bekomme ich HW/SW: je ca. 50, Framesize ca 500 (Paar größere Strings werden an SUBs übergeben), paßt alles.


      Einziger Interrupt ist Timer-Interrupt-Routine (in der alle Register gesichert werden: Deklaration mit NOSAVE, dafür PUSH alle Register von Hand usw.) beide UARTS werden benutzt, aber gepollt. Ein Software-UART ist benutzt.

      Sobald Stackcheck.lib nicht drin ist, läuft alles sauber.

      Programm ist zu groß, um es direkt reinzuhängen.

      Daher erstmal die Frage, ob irgendwas dazu bekannt ist?

      Danke und Gruß,
      Christian

      PS, Falls es interessiert: Projekt dient zur Status-Fernüberwachung vom Wohnmobil und liefert aktuelle Daten zu Temperatur, Stromversorgung und Position an meinen Webserver, dort kann ich (gesichert) dann alles abrufen und verfolgen. Hardwarebasis ist eigenentwickelte Platine mit SIM800L Mobilfunkmodul und ublox GPS-Empfänger.
      Status.pngweb.png
    • chrissi099 schrieb:

      Daher erstmal die Frage, ob irgendwas dazu bekannt ist?
      Es gab mal Probleme mit diversen Libs, wenn die 64k Grenze überschritten wurde, das schaut bei dir genauso aus, wenn du von Problemen mit großen Programmen schreibst.

      Auch wenn es möglicherweise keinen Zusammenhang gibt, rate ich dir aber erstmal zum Update deiner Bascom-Version.
      Vielleicht ist das Problem in 2.0.8.0 schon gelöst, aber ich denke auch, dass ein möglicher Support sowieso erstmal ein Update verlangt.
      Laut history.txt soll man die Stackwerte in der neuesten Version auch im Code Explorer sehen.
    • @monkye: Wohin meinst Du genau? das o.g. Fragment stand ziemlich am Anfang des Programmes

      @Michael: Danke für den Tipp. Vielleicht war es sowas ja. Update mache ich irgendwann mal, jetzt noch nicht (Umstieg von 2.0.7.5 auf 2.0.7.8 hatte mit schon einige Problemchen bereitet). Ich beobachte jetzt erstmal mein Projekt. derzeit läuft es drei Tage am Stück ohne Probleme. Vorher gab es nach wenigen Stunden Fehlfunktionen....
      Ich suche mal die history.txt von de 2.0.8.0 vielleicht steht ja was drin.