Forum: Mikrocontroller und Digitale Elektronik GCC ARM: writeback of base register is UNPREDICTABLE


von Christian J. (elektroniker1968)


Angehängte Dateien:

Lesenswert?

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

von Christian J. (elektroniker1968)


Angehängte Dateien:

Lesenswert?

Hier noch der rowley startup Code

von Christian J. (elektroniker1968)


Angehängte Dateien:

Lesenswert?

Sorry, falsche Code oben, lässt sich nicht mehr ändern. Also nochmaal.

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.