From Teknologisk videncenter
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.


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]


  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