Forum: Compiler & IDEs Keil MDK5 - erzeugten Code von O1 und O3 vergleichen


von Matthias M. (Gast)


Lesenswert?

Hallo,

ich habe das Problem, dass ein bestimmter Codeabschnitt (zur Ansteuerung 
von ROM-Code für USB in einem LPC) nur mit O1 funktioniert, nicht aber 
mit O3. Durch #pragma push/pop/O1/O3 konnte ich das ganze auf vier kurze 
Funktionen eingrenzen. Großzügiges verteilen von "volatile" hat leider 
auch nicht geholfen.

Im Debugger sehe ich grob, das ich z.B. bei einer Codezeile bei O3 
keinen Breakpoint mehr setzen kann (weil wegoptimiert), aber ich würde 
gerne auf Assemblerebene die Unterschiede sehen?

Grüße
Matthias

von Peter II (Gast)


Lesenswert?

Matthias M. schrieb:
> aber ich würde
> gerne auf Assemblerebene die Unterschiede sehen?

Ich kenne Keil nicht, aber meist kann man auf ASM umschalten, dort kann 
man dann auch breakpoints setzen.

von Thomas (Gast)


Lesenswert?

List files ausgeben und anschauen eventuell mit einem Txt compare 
Programm vergleichen wie z.B ultra compare
Thomas

von klick klack (Gast)


Lesenswert?

Disassembly window im Debugger einschalten. Dann siehst du den Code zum 
C Programm.

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.