meta data for this page
Differences
This shows you the differences between two versions of the page.
arm:exclusive_monitor [2024/06/05 09:40] – created niziak | arm:exclusive_monitor [2024/06/05 15:43] (current) – niziak | ||
---|---|---|---|
Line 12: | Line 12: | ||
Exclusive instructions must be used in **pairs**: | Exclusive instructions must be used in **pairs**: | ||
- | * LDREX - tags memory for exclusive access. Always successfully reads a value from memory address x. | + | * LDREX: |
- | * STREX - clears | + | * Tags memory for exclusive access. |
+ | * Always successfully reads a value from memory address x. | ||
+ | * STREX: | ||
+ | * Clears | ||
+ | * Success only memory was tagger == if no other processor or process performed a more recent store of address x. | ||
+ | * returns status bit that indicates whether the memory write succeeded. | ||
+ | |||
+ | So LDEX/STREX must be placed in loop, to repeat LDREX/ | ||