Cortex M3: MPU programmieren

Gast #2800255
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?
Persönliche Seite #2800762
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
#2800771
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.

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