Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Globale Variablen "verschwinden" zufällig Kategorie: CC-Pro Unit & Appl.Board (von Jo - 8.12.2010 6:50)
Als Antwort auf Re: Globale Variablen "verschwinden" zufällig von Rainer Brinkmann - 7.12.2010 21:41

> > > > > Hallo Pro-Gemeinde,
> > > > >
> > > > > habt Ihr eine Idee?
> > > > >
> > > > > Ist:
> > > > > ich betreibe seit 1 Jahr eine komplexe Heizungs/Solar-Steuerung in produktivem Einsatz.
> > > > > Problem:
> > > > > Sei einigen Monaten, nach geringer Erweiterung der Anwendung, werden im Betrieb
> > > > > globale Variablen "zufällig" auf 0 oder irgendwas falschen gesetzt.
> > > > > Es sind keine Programmänderungen gemacht worden, die diese Variablen betreffen.
> > > > > Es wird kein Multithreading eingesetzt.
> > > > >
> > > > > Workaround:
> > > > > Durch Verschieben der Variablen in der Deklarationsreihenfolge, kann das Problem
> > > > > vermieden werden, aber es tritt unkontrollierbar bei anderen Variablen auf.
> > > > >
> > > > > RAM-Nutzung:
> > > > > nach der von PeterS im Forum angegebenen Berechnung von RAM/FLASH, sollte beides ok sein:
> > > > > FLASH:
> > > > > Bootloader:          4096
> > > > > Interpreter 201:   28672
> > > > > ByteCode:         28695
> > > > > Summe         =  61.3 KB Passt also bei 110KB vorhandenem FLASH
> > > > >                    
> > > > > RAM:
> > > > > glob. Variablen:   1014  Passt also bei 64KB vorhandenem RAM
> > > > >
> > > > > Somit:
> > > > > Habt Ihr eine Erklärung für das Verhalten?
> > > > >
> > > > > Danke & Gruss
> > > > > Rainer
> > > > >
> > > > > IDE-Output:
> > > > > 1014 Bytes (4KB: 40% - 64KB: 1%) globale Variablen
> > > > > Generierter Bytecode: 28695 bytes...
> > > > > Schreibe Symboldaten: 28943 bytes ...
> > > >
> > > > Hallo,
> > > >
> > > > kann es sein, dass du bei einem globalen Array über das Ende hinausschreibst? Ist mir mal passiert.
> > > >
> > > > MfG Karl
> > >
> > >
> > > Hallo,
> > >
> > > an dem map File kann man doch erkennen, wo welche globalen Variablen liegen. I
> > > ch würde mal vor und nach der Variablen die sich verändert, Dummy Arrays legen und sehen,
> > > wie sich das ganze dann verhält.
> > >
> > > Dein Programm müsste ja auch mit dem internen Ram klarkommen. Kann man das externe Ram eigentlich
> > > abschalten um zu sehen, wie es sich dann verhält?
> > >
> > > Grü�e Joerg
> >
> > Hallo Jörg,
> > über J7 kann das externe RAM abgeschalten werden.
> > Viele Grü�e
> > Jo
>
> Hallo,
> danke für die prompte Bedienung. Ich werde mal:
>
> - zuerst das ext. RAM via J7 deaktivieren und sehen, ob sich was tut (RAM kaputt?)
>
> - dann das map-file ansehen und mit Dummy-Variablen rummachen
>   (ich hatte die betroffenen Variablen schon woanders deklariert = Verschieben im RAM)
>
> Frage: wo liegt das map-File? (ich finde nur irgendwelche alten *.map )
>
> Danke & Gruss aus Hamburg,
> Rainer

Hallo Rainer,
prüfe doch unter "Projekt" -> "Optionen" die zweite checkbox "Map Datei erzeugenen" einen Haken
hat.
Viele Grü�e aus Hurghada,
Jo


    Antwort schreiben


Antworten: