Exclusive Primitives of the Cortex-M

Intro Concurrency plays a central role in the booming programming language RUST. In C and C++ it is the responsibility of the designer to apply appropriate mechanisms to avoid the dreaded race conditions, even in small embedded bare metal projects. Disabling interrupts is commonly used to avoid these race conditions. The Cortex-M provides with Exclusive …

Proper Disabling of Interrupts in the Cortex-M

Intro Disabling and Enabling of interrupts is a common scenario in embedded SW. The Cortex-M offers suitable mechanisms for this, but the topic is not quite so trivial because of potentially occurring race conditions and therefore we take a deeper look at a process optimized for the Cortex-M. Scenario In a code segment, which can …

Exclusive Primitives des Cortex-M

Intro Nebenläufigkeit ist ein Begriff, der in der boomenden Programmierung mit RUST eine zentrale Rolle spielt. In C und C++ liegt es in der Verantwortung des Entwicklers geeignete Mechanismen anzuwenden, um selbst in kleinen Embedded Bare Metal Projekten, die gefürchteten Race Conditions zu vermeiden. Das Sperren von Interrupts ist ein übliches Mittel zur Vermeidung. Der …

Interrupts im Cortex-M richtig sperren

Intro Das Sperren und das Wiederfreischalten von Interrupts ist ein übliches Szenario in Embedded SW. Der Cortex-M bietet dafür geeignete Mechanismen, doch ganz so trivial ist das Thema wegen potentiell auftretender Race Conditions nicht und daher werfen wir hier einen tieferen Blick in ein auf den Cortex-M optimiertes Verfahren. Scenario In einem Code Segment, das …