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?
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.