Mutex

From Teknologisk videncenter
Revision as of 09:20, 24 March 2012 by Heth (talk | contribs) (ARM Thumb)
Jump to: navigation, search

A Mutex (Mutual Exclusion) is a method used to gain exclusive rights to use a shared resource in programming. Often used when designing software in embedded systems using interrupts and/or RTOS.

Example

In a interrupt driven embedded system there are two devices connected to a CAN bus. Two independent software routines communicate independent of each other with Device A and Device B through a shared CAN bus. See drawing below.

Two software routines fighting for exclusive access to the shared CAN bus

ARM Thumb

LDREX and STREX[1][2]

References

  1. The definitive guide to the CORTEX-M3, Second edition - section 10.6 page 177 (ISBN978-1-85617-963-8)
  2. ARM Assembler reference section 3.3.13 page 3.39