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

Re: Bytecode > 16kByte Kategorie: Programmierung C (von J├╝rgen Hoo├č - 9.02.2017 12:20)
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board
Hallo,

ich habe seit ca. 10 Jahren 8..10 CControl Pro f├╝r die Regelung eines pneumatischen Aktuators
im Einsatz. Am Application Board sind die Tastatur und ein Display (4Zeilen x 20Zeichen)
angeschlossen. Auf dem Display wird ein 10zeiliges Men├╝ dargestellt, durch das man mit den
Tasten "2" (up) und "8" (down) durchscrollen kann. Daf├╝r werden die Bibliotheken LCD_lib.cc
und Key_lib.cc verwendet. Das komplette Programm l├Ąuft in main() in einer Endlosschleife
Jetzt das Problem:
Seit meiner letzten Softwareerweiterung h├Ąngt sich der Prozessor reproduzuierbar beim scrollen
durch das Display auf (aber nicht immer an derselben Stelle).
Nach mehreren Stunden Fehlersuche habe ich festgestellt, dass das Problem immer dann auftritt
wenn mein Bytecode >16kByte wird. Die funktionierende Version hat 16155 Bytes. Die nicht
funktionierende hat 16642 Bytes. Wodurch diese 16kB-Grenze ├╝berschritten wird scheint unerheblich
zu sein. Zum Testen habe ich bei der funktionierenden Version zus├Ątzlichen Code zwischem
dem Ende der while-Schleife und vor dem Ende von main() eingef├╝gt.
Dieser Code wird nie ausgef├╝hrt!
main()
{
   while(1)
   {
   ...
   }
   // Code zum Testen
}
Das Aufh├Ąngen hatte ich auch schon vor dem Softwareupdate wenn ich die Option "CreateDebugCode"
aktiviert hatte. Ich habe das damals auf Probleme in Verbindung mit dieser Option geschoben.
Mittlerweile ist mir klar, dass es auch an der durch die Option deutlich vergr├Â├čerten Bin├Ąrdatei
gelegen hat. Jetzt ist die Option definitiv deaktiviert.

Ich bin sehr auf das Ergebnis der Problemsuche gespannt.
Vielen Dank schon mal und viel Erfolg.
Mit freundlichen Gr├╝├čen
J. Hoo├č

C-Control.zip




    Antwort schreiben


Antworten: