Difference between revisions of "Mutex"

From Teknologisk videncenter
Jump to: navigation, search
m (ARM Thumb)
m (ARM Thumb)
Line 9: Line 9:
 
|}
 
|}
 
==ARM Thumb==
 
==ARM Thumb==
LDREX and STREX<ref name=M3177>The definitive guide to the CORTEX-M3, Second edition - section 10.6 page 177 (ISBN978-1-85617-963-8)</ref>
+
LDREX and STREX<ref name=M3177>The definitive guide to the CORTEX-M3, Second edition - section 10.6 page 177 (ISBN978-1-85617-963-8)</ref><ref name=THUMB>[http://infocenter.arm.com/help/topic/com.arm.doc.dui0489c/DUI0489C_arm_assembler_reference.pdf ARM Assembler reference] section 3.3.13 page 3.39</ref>
  
 
=References=
 
=References=
 
<references/>
 
<references/>
 
[[Category:Embedded]][[Category:ARM]]
 
[[Category:Embedded]][[Category:ARM]]

Revision as of 10:20, 24 March 2012

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