Forum: Mikrocontroller und Digitale Elektronik Cortex M3: MPU programmieren


von egbert (Gast)


Lesenswert?

Hallo Mikrocontroller-Freunde,

ich programmiere grade ein wenig auf dem STM32F4 Discovery Board herum. 
Ein toller Prozessor; ich habe auch schon ein RTOS drauf laufen und 
alles, funktioniert toll.
Jetzt möchte ich einmal die MPU noch zum Einsatz bringen, ich stehe da 
aber ein wenig auf dem Schlauch.
Es wäre z.B. mal interessant, jedem Task den Zugriff auf die Stacks der 
anderen Tasks zu verbieten. Wie würde man sowas machen? Ich blicke bei 
der MPU nicht so ganz durch mit den Begriffen ordered, shareable, 
write-through und so weiter. Kann mir das jemand mal erklären?

von Marcus H. (mharnisch) Benutzerseite


Lesenswert?

egbert schrieb:
> Es wäre z.B. mal interessant, jedem Task den Zugriff auf die Stacks der
> anderen Tasks zu verbieten. Wie würde man sowas machen?

Relativ einfach. Man definiert Regionen für die Bereiche des aktuellen 
Tasks und lässt sämtliche anderen Adressen auf eine Background-Region 
fallen, die jegliche Zugriffe mit einem Fault abwehrt.

> Ich blicke bei der MPU nicht so ganz durch mit den Begriffen ordered,
> shareable, write-through und so weiter. Kann mir das jemand mal erklären?

Die meisten der Begriffe sind bei µC uninteressant. ordered memory 
sagt aus, das Speicherzugriffe in diesem Bereich unbedingt in 
Programmreihenfolge ausgeführt werden müssen. Shareable bezieht sich 
auf die Möglichkeit, von mehreren CPU/DMA/etc auf den so 
gekennzeichneten Speicher zugreifen zu können. Sind aber alles 
Standardbegriffe, so dass Google oder Wikipedia Dir sicherlich 
erschöpfende Auskunft geben können.

--
Marcus

von (prx) A. K. (prx)


Lesenswert?

egbert schrieb:
> der MPU nicht so ganz durch mit den Begriffen ordered, shareable,
> write-through und so weiter.

Diese Begriffe stammen aus Implementierungen, in denen komplexe 
Befehlsausführung, Caches und Puffer dafür sorgen können, dass parallele 
Threads, Cores und DMA im Speicher nicht alle den gleichen Stand sehen.

Bei einem Controller mit einem einzelnen recht simplen Core ohne solche 
Mechanismen sind die Unterschiede dieser Konsistenzmodelle gering bis 
nichtexistent.

von Joachim .. (joachim_01)


Lesenswert?

Egbert. N seltener Vorname.
IAS?

von (prx) A. K. (prx)


Lesenswert?

Da fehlt ein "g". ;-)

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.