Forum: Mikrocontroller und Digitale Elektronik ARM: Unterschied User / System Mode


von ARM-Fan (Gast)


Lesenswert?

Hi!

Kann mir jemand mal in einfachen Worten den Unterschied
zwischen User- und System-Mode beim ARM(7) erklären?

Was mir schon klar ist:

- sie benutzen beide den selben Registersatz
- der System-Mode ist ein privilegierter Modus

Aber wie/wann/warum kommt man in den System Modus, bzw.
sollte ihn benutzen?

Grüße, Frank

von Dominic R. (dominic)


Lesenswert?

Die Unterschiede hast du schon beschrieben.
Wie: Aus einem der anderen priveligierten Modi einfach den CPSR mit den 
entsprechenden Bits schreiben (MSR)
Wann/Warum: Du willst etwas machen, wozu erweitere Rechte nötig sind, 
möchtest aber nicht im jeweiligen Ausnahme-Modus bleiben, z.B. damit 
eine weitere Ausnahme den Task Zustand nicht zerstören kann.

Gruß,

Dominic

von Andreas K. (a-k)


Lesenswert?

Der ARM Core existisiert auch in Implementierungen mit
Speicherverwaltungseinheit (MMU) und darauf aufbauendem komplexem 
Betriebssystem (z.B. Linux). Damit kann der Zugriff für Anwenderprozesse 
auf bestimmte Speicherbereiche und I/O-Ports begrenzt werden. Grad wie 
unter Windows.

Bei Controllern ohne MMU (z.B. LPC2000, SAM7) ist der Grad an Schutz, 
den der User Mode bietet, extrem gering und es lohnt i.A. nicht, sich 
überhaupt damit zu befassen. D.h. man arbeitet im System Mode und damit 
hat es sich.

von ARM-Fan (Gast)


Lesenswert?

OK kapiert, vielen Dank für die Antworten! :-)

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.