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

Re: Bytecode > 16kByte Kategorie: IDE (von Tom - 7.03.2018 18:07)
Als Antwort auf Re: Bytecode > 16kByte von Tom - 4.03.2018 14:04
Ich nutze:
C-Control Pro Mega128, eigenes Board
Hallo nochmal,

also ich hab das ganze gemäß deiner Anleitung nun mal getestet.
Hab alle Files nicht direkt dem Projekt hinzugefügt, sondern via #include Anweisung.
Im eigentlichen Projekt liegt nun nur noch das File vom Hauptprogramm.

Funktioniert nur leider bei mir genauso wenig wie vorher.

Was mir nicht ganz klar ist bei deiner Anleitung, warum die restlichen Files in einem Visual Studio
Projekt liegen sollen. Bei mir liegen die Files einfach im selben Ordner wie das Hauptprogramm.

Wäre toll wenn du dazu bitte noch nähere Infos geben könntest.

Vielen Dank und LG
Tom


> Hallo Torsten,
>
> das macht mir überhaupt nichts, dass du nicht Jürgen bist.  ;) Hauptsache ich finde Hilfe für mein
> Problem. Daher schon mal vorab ein herzliches Danke für deine Antwort.
>
> Also wenn ich das richtig verstehe, soll in meinem Projekt dann nur noch das main.cc File liegen
> und alle anderen zusätzlichen Files nicht über das Projekt hinzufügen, sondern direkt via #include
> Anweisung, richtig?
>
> Wenn das wirklich ginge, wäre das natürlich der Hammer.
>
> Vielen Dank schon mal. Ich melde mich wieder, wenn ich es testen konnte.
>
> LG Tom
>
>
> > > 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 Tom,
> >
> > bin zwar nicht Jürgen aber das Problem hat schon eine
> > Menge Leute beschäftigt. So war ich auch ab einer gewissen
> > Programmgröße immer wieder davon betroffen. Kann dir hier
> > mal kurz meine Vorgehensweise beschreiben. Ob es eine
> > allgemeine Lösung oder nur Zufall ist weiß ich aber nicht.
> >
> > Du erstellst mit der C-Control-IDE ein neues Projekt.
> > Dieses Projekt enthält nur eine Datei und zwar die
> > mit der main() Funktion. Alle anderen Funktionen werden
> > auf weitere Dateien, als Module, verteilt welche per #include
> > eingebunden werden. Keine dieser Module sollte zu groß werden.
> > Editiert und gespeichert werden diese Module in einer leeren
> > Projektmappe des Visual-Studios. Um es besser zu Verstehen hier
> > mal ganz grob der Aufbau.
> >
> >
> > /*** main.cc ***/
> > //------------------------------------------------
> >
> >  #include "WeatherStation.h"
> >  #include "Display.cc"
> >  #include "SDCard.cc"
> >  #include "CT63LibCT63Terminal.cc"
> >  #include "SystemTime.cc"
> >  #include "CollectData.cc"
> >  #include "SensorConditionerLibSensorConditioner.cc"
> >  #include "HumidityModuleLibHumidity.cc"
> >  #include "PressureModuleLibPressure.cc"
> >  #include "DS2482LibDS2482.cc"
> >  #include "DS18S20LibDS18S20.cc"
> >  #include "Rainfall.cc"
> >  #include "Level.cc"
> >  #include "I2CLibI2C.cc"
> >  #include "Relays.cc"
> >  #include "DCF77Time-1.01.cc"
> >  #include "ThreadKeyboard.cc"
> >  #include "ThreadDisplay.cc"
> >
> > //------------------------------------------------
> >
> > void main(void)
> >     {
> >
> >     LCD_Init();
> >     DisplayResult(true, "Init LCD");
> >     DisplayResult(SDCardInit(), "SDC Init");
> >     DisplayResult(CT63Init(), "CT63Init");
> >     DisplayResult(CurrentLoopInit(), "Cur Loop");
> >     DisplayResult(I2CSensorsInit(), "I2C Bus ");
> >     DisplayResult(DCF77Init(), "DCF 77  ");
> >     DisplayResult(DCF77SetSystemTime(), "Set Time");
> >
> >     Thread_Start(THREAD_KEYBOARD, ThreadKeyboard);
> >     Thread_Start(THREAD_DISPLAY, ThreadDisplay);
> >
> >     while(1)
> >         {
> > // bla bla bla
> >         }
> >
> >     }
> >
> > //-----------------------------------------------------
> >
> >

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


    Antwort schreiben


Antworten:

Re: Bytecode > 16kByte (von Torsten - 12.03.2018 20:28)
    Re: Bytecode > 16kByte (von Tom - 19.03.2018 10:50)