GCC ARM: writeback of base register is UNPREDICTABLE

OP #1229982
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
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.