Hallo,
ich beziehe mich auf folgenden Beitrag von "let"
Beitrag "ARM7: ADC Wandler 16 Bit ?"
In der Rowley Umgebung wird bei Optimierung bekanntlich der Fehler
"Warning: writeback of base register is UNPREDICTABLE"
erzeugt, wenn ISR Routinen verwendet werden, die mit Schlüsselwörtern
des GCC bezeichnet sind. Der erzeugte Code ist fast immer nicht
lauffähig.
Nun soll es aber eine Lösung geben, wenn man in den Startup Code den
Aufruf dder ISR einpackt. Eine Datei, die ich gefunden habe und von der
ich vermute, dass sie das tut ist angehängt. Nun bin ich absoluter Laie
was den Asm des LPC angeht und gebe zu, er interessiert mich auch nicht,
solaange es funktioniert.
Bisher sehen ISRs bei mir so aus:
void _attribute_ ((interrupt("IRQ"))) Isr_TIMER0 (void)
Jetzt die Frage:
Kann jemand, leicht verständlich sagen, wie man das Ganze umbauen muss,
damit Optimierungen wieder funktionieren? Und wie sieht dann eine ISR
aus, bzw wie wird sie installiert?
Gruss,
Christian