IAR & ARM M4 & optimisation Probleme

OP #5096897
Hi
ich habe paar c files von Xmega nach ARM portiert, und jetzt sehe ich 
versciedene Probleme je nach dem welchen Optimisation level ich 
auswähle.
Alle Optimierungen sind an. Alles ok wenn ich für "size" auswähle. Nicht 
ok wenn ich für "Speed" oder balanced auswähle!
Eine Idee wo nach ich suchen soll?
Thx
#5097135
H. R. schrieb:
> und jetzt sehe ich
> versciedene Probleme je nach dem welchen Optimisation level ich
> auswähle.

"verschiedene Probleme" ist nun nicht so wirklich eine erschöpfende 
Fehlerberschreibung. Da könntest Du ruhig ein wenig spezifischer werden.

Wenn Code bei höheren Optimierungsstufen nicht mehr das macht, was er 
soll, ist das meist ein Programmierfehler. Naheliegend wäre ein 
vergessenes volatile (aber nur an der richtigen Stelle, nicht einfach 
mit der Gießkanne) oder eine wegoptimierte Warteschleife.
#5097268
Und wenn der Code bei unterschiedlichen Optimierungsstufen nicht mehr 
das macht, was er soll, ist das auch meistens ein Programierfehler, nur 
ein nicht so offensichtlicher.

Wenn es mit -s geht,  it den anderen Stufen jedoch nicht, kann es auch 
noch mit der erzeugten Programmgröße zusammenhängen.

Oliver
Gast #5097863
Wahrscheinlich ist das Originalprogramm schon nicht portabel geschrieben 
und läuft nur zufällig richtig auf einem XMega.

Wie wäre es mit dem Sourcecode hier? Es gibt genug Leute denen es Spass 
macht, den Code zu zerpflücken.
#5097919
Markus F. schrieb:
> Nop schrieb:
>> nicht initialisierte lokale Variablen sind auch beliebt. Einfach mal
>> CppCheck auf den Code loslassen.
>
> Hmm. Nicht initialisierte lokale Variablen sind - unabhängig von der
> Optimierung - doch immer nicht initialisiert?

Was Nop damit sagen wollte: es kommt im Eifer des Gefechts hin und 
wieder vor, dass man lokale Variablen benutzt, so, als haetten sie 
bereits einen bestimmten Wert; der aber nur im Kopf des Programmierer 
existiert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 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.