Sortierung nach Threaddatum   Sortierung nach letztem Posting   Forum in BB-Ansicht
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum CC1-Forum - Zum CC2-Forum
Autor Beiträge
Jürgen Hooß


Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board
15.03.2017 15:49Antwort schreiben

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ß
Tom


Ich nutze:
C-Control Pro Mega128, eigenes Board
25.02.2018 14:08Antwort schreiben

Hallo Jürgen,

bin gerade in exakt die selbe Problematik gelaufen und nach ein bisschen Internetrecherche bei
diesem Forumsposting von dir gelandet. Leider hast du bisher ja keine Antwort auf deine Frage
bekommen. Jetzt würde mich natürlich interessieren, ob du mittlerweile vielleicht selbst zu einer
Lösung des Problems gekommen bist? Wenn ja würde ich mich sehr freuen, wenn du deine Erkenntnisse
mit mir teilen würdest, denn zur Zeit bin ich ziemlich ratlos, warum und wieso das alles passiert
und was ich dagegen unternehmen könnte.

Bestem Dank im Voraus und LG
Tom



> 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ß
Torsten


3.03.2018 13:36Antwort schreiben