ARM7 interrupthandler

Gast #352035
Lesenswert?
• ▲
▼
@Riwedieb:

Suchen, ist immer gut. Manche suchen immer noch, in den Krümeln
wahrscheinlich :-)

Ja, den ARM Assembler muß man früher oder später doch bemühen, auch
wenn einem die Compiler-Hersteller das absolut nicht Glauben machen
wollen:

Zwangsläufig, für einige Spezialanwendungen, mußte ich selbst die in
ARM-Assembler geschriebenen Startup-Dateien (Philips, Keil)
modifizieren bzw. erweitern und ergänzen, z.B. für eine IAP-Anwendung
mit Fern-Update, bei der Stromausfall und Downloadfehler eine
Wiederholmöglichkeit des Flash-Download garantieren müssen.

Benutze mal die Befehle für Load- and Store Multiple File direkt an den
Interruptvektoren und dem Ende der Interruptroutine:

Nachdem alle Stacks mit vernünftiger Größe initialisiert sind, direkt
hinter dem Interruptvektor:

        STMFD SP!, {R0-R7, LR}

Sichert die Register R0-R7 und LR auf dem Stack des Betriebsmodus, in
dem man sich gerade befindet.

        LDMFD SP!, {R0-R7, LR}

Holt die Register wieder zurück.

Der FIQ-Mode hat eigene Register R8-R12, die man nicht sichern muß.

Gruß

Dietmar

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren