Skip to content

core_util_atomic_incr_u8() implementation and __EXCLUSIVE_ACCESS #5555

@danny4478

Description

@danny4478

This issue refers to mbed_critical.c file.

As far as we saw, there are two implementations for core_util_atomic_incr_u8() function:

  1. For ARMv7 and newer, uses __LDREX() / __STREX()
  2. For older architectures using critical section.

The implementation is selected according to __EXCLUSIVE_ACCESS define from core_cm.h.

We are building mbed_os for K64F which supports LDREX / STREX but the implementation goes to the critical section instead (verified by introducing a compilation error).

Is it a configuration bug or a feature?

Reviewers: @alzix

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions