Forum: Compiler & IDEs STM32 Eclipse+GCC Laufzeitunterschied Debug/Release


von Maxx (Gast)


Lesenswert?

Eigentlich sollten doch beide Versionen laufzeitmäßig gleich sein, oder 
irre ich mich da? Die Release-Version läuft viel zu schnell, die Debug 
zeitlich richtig. Die Projekt-Einstellungen sind Defautwerte. Woran kann 
das liegen?

Version:
IDE and Toolchain:
* Based on Eclipse version 3.5.2 (Galileo) and CDT version 6.0.2.
* Atollic ARMTools Lite, Build 10.1 - built with
  GCC version 4.4.1
  GDB version 7.1
  Newlib version 1.17.0

Testweise mit Keil probiert. Dort laufen Release und Debug korrekt.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Wird das Programm absichtlich durch leere Schleifen verlangsamt? Wenn 
ja: testweise Schleifenzähler mit volatile qualifier versehen.
1
void warten(void) { volatile int i; for(i = 0; i < PIMALKOBOLD; i++) { } }

Ist mir schon einige Male aufgefallen, dass Code für Realview Schleifen 
(delay-loops) ohne irgendwelche Vorkehrungen gegen 'wegoptimieren' 
enthält. Diese werden von ARMs Compiler scheinbar nicht bei Optimierung 
verworfen. GNU-Compiler verwirft bei eingeschalteter Optimierung schon.

Ansonsten: die Compileroptionen angeben, die bei "debug" bzw. "release" 
an den GNU Compiler übergeben werden, hilft evtl. das Problem weiter 
einzukreisen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.