Forum: Mikrocontroller und Digitale Elektronik Registerzugriffe beim ARM7


von Jens Altenburg (Gast)


Lesenswert?

Hallo,

laut Dokumentation werden beim Übergang vom User in den IRQ Mode die
Register R13 und R14 durch R13_irq und R14_irq ersetzt. Wie gelange ich
nun an den Inhalt von R13 und R14?

MfG

Jens

von A.K. (Gast)


Lesenswert?

Eine Variante vom LDM kommt da ran.

von Jens Altenburg (Gast)


Lesenswert?

Laut Assembler Manual gibt es im LDR Befehl keine Unterscheidung
zwischen R13 und R13_irq, jedenfalls habe ich keine gefunden. Eine
nähere Erläuterungen wäre also hilfreich.
Im konkreten Fall sind die Register R13, R14 "nicht sichtbar". Die
Adressierung über LDM ergibt nur Zugriffe auf R13_irg, R14_irq.
Alternativ habe ich die Modebits im CPSR manuell zurückgesetzt (also
IRQ Mode verlassen) und konnte dann auf R13, R14 zugreifen.
Anschließend wird IRQ wieder eingestellt und die IRQ-Routine regulär
beendet. Sollte diese "Hammer-Methode" die einzige Variante sein?

MfG

Jens

von A.K. (Gast)


Lesenswert?

In meiner Doku vom ARM steht drin, dass der LDM (nicht LDR!) Befehl eine
Bit hat, das im System-Mode eine andere Funktion hat als im User-Mode.
Im System-Mode kommt man damit an die User-Mode register ran.

Die Doku ist zwar schon etwas älter (ARM3) aber in der aktuellen
Quickref hab ich es auch wiedergefunden. Syntax war glaub ich mit "^"
hintendran.

von Jens Altenburg (Gast)


Lesenswert?

Danke, das ist es wahrscheinlich.
... beim Programmieren von dem Ding kriegt man ja 'n Knick in die
Rübe...

Jens

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.