ARM Cortex: мьютекс с использованием битовых полос
Учитывая, что на ARM Cortex M3 я могу:
атомно читать один битатомно установлен один битатомарно очистить один битКак я могу объединить их для набора операций стиля мьютекса:
try lock
take lock
release lock
Кажется, чтоtry_lock
или жеtake_lock
потребуется две операции, которые не будут атомарными.
Нужно ли больше контроля для достижения этой цели? Отключение глобальных прерываний сделает это, но, похоже, должен быть более хирургический подход.