Hallo Leute, Umgebung: WinAVR 4.12 SP4 (498) AVRgcc 20060421 STK500 Mein Problem ist folgendes: Wenn ich die Codeoptimierung in den Projekteigenschaften von -O0 auf einen der anderen Werte (-O1 -> -Os) setzte, dann funktioniert meine Uart Verbindung nicht mehr. Wird mit der Einstellung -O0 compiliert läuft alles wunderbar. Hat jemand eine Idee ?? Grüße, Michael
Du hast irgendwo einen Fehler in der Software, oder ein Timingproblem.
Die Software funktioniert eigentlich schon, aber eben nur wenn ich die Optimierung ausschalte. Wie kann ich rausfinden ob es sich um ein Timing Problem handelt und wie lokalisiere ich es ?
Gast
#539926
Schau dir das ASM Listing an, ob das dem erwarteten C Code entspricht.
Alternativ zeige den C-Code und lasse Forenteilnehmer einen Blick drauf
werfen.
Beim neueren GCC 4.1.1 ist ein typ. Beispiel für "unerwartete" Effekte,
dass dort aus GCC Sicht unnütze Schleifen wegopimiert werden
{
int i;
for(i=0;i<1000;i++);
}
als Primitiv-Warteschleife streicht der 4.1.1 GCC bei eingeschalteter
Optimierung zusammen zu
{
}
@Benedikt: Das war's ! Besten Dank !
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.