Gast
#2824737
Hallo, hab heute etwas gehabt, was mir wirklich zu denken gibt. Ich habe einen Source-Code, der für drei verschieden AVRs per Defines compiliert werden kann. Bei dem AT90CAN128 funktionierte alles irgendwie nicht richtig. Irgendwann habe ich festgestellt, das der Compiler eine Variable, obwohl sie explizit als volatile deklariert wurde, einfach wegoptimiert hat. Bei den beiden anderen Controllern kann ich die Optimierungsstufe -Os einstellen, bei dem AT90CAN128 funktioniert es nur mit Optimierungsstufe -O3. Wie kann das sein? Gibt es eigentlich bald mal ein Update vom WinAVR? Ist AVR-GCC unter Linux besser?