ARM Cortex: мьютекс с использованием битовых полос

Учитывая, что на ARM Cortex M3 я могу:

атомно читать один битатомно установлен один битатомарно очистить один бит

Как я могу объединить их для набора операций стиля мьютекса:

try lock
take lock
release lock

Кажется, чтоtry_lock или жеtake_lock потребуется две операции, которые не будут атомарными.

Нужно ли больше контроля для достижения этой цели? Отключение глобальных прерываний сделает это, но, похоже, должен быть более хирургический подход.

Ответы на вопрос(2)

Ваш ответ на вопрос