Цитата(jcxz @ Aug 8 2018, 13:47)
В смысле "как"? Работа с одной переменной ведь проще/быстрее чем с несколькими. Не находите?
Не знаю сколько прерываний в вашем МК,
Он указан. Точнее, указано семейство, но внутри семейства они достаточно одинаковые.
Цитата(jcxz @ Aug 8 2018, 13:47)
Что довольно-таки долго и в каждом таком месте требует 4 слова по 32 бита.
В решении "запретить всё", кстати, хранилище только одно.
Цитата(jcxz @ Aug 8 2018, 13:47)
И если Вы говорите что латентность Вас не беспокоит, то к чему тогда вообще был вопрос? Вы же спрашивали насчёт наиболее оптимального способа? Или нет?
Вопрос про конкретную реализацию. Каковая состоит из моего софта и чужого стека.
И если меня латентность не очень волнует, то для софтдевайса требования к латентности указаны жёсткие (хоть и несоответствующие реальному состоянию дел).
Цитата(jcxz @ Aug 8 2018, 13:47)
это просто запрет прерывания и в действительности не является критической секцией.
О как.
Цитата(jcxz @ Aug 8 2018, 13:47)
PS: Кстати - маскирование прерываний через NVIC не запрещает все прерывания. Есть ещё Systick и PendSV и другие fault-ы (если они у Вас используются).
Да, действительно.
Используется ли PendSV - Вы можете посмотреть в исходниках операционной системы, которую мы обсуждаем.
Вообще, очень прошу ознакомиться с обсуждаемой темой. Мне не очень интересно разговаривать о сферических конях, мне хочется запустить конкретную ОС на конкретном чипе. О конях - пожалуйста, в прекрасный раздел "общение".