STM32 Eclipse+GCC Laufzeitunterschied Debug/Release

Gast #1957205
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.
Moderator Persönliche Seite
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.