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: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum