IT-словарь › Оборудование › Маскирование прерываний

Маскирование прерываний

Оборудование Svenska → Обновлено: 2026-11-03

Временный запрет процессору принимать прерывания — обычно чтобы защитить несколько строк кода, которые нельзя прерывать.

Замаскированное прерывание не теряется: оно ждёт в состоянии pending, пока маска не снимется. Но если за это время то же прерывание сработает дважды, уцелеет лишь одно, так что долгие окна маскирования теряют события. На Cortex-M PRIMASK (cpsid i, __disable_irq()) блокирует всё, кроме NMI и HardFault, а BASEPRI отсекает только прерывания ниже заданного приоритета.

Именно поэтому FreeRTOS использует BASEPRI: критические секции ядра блокируют лишь те прерывания, которым разрешено обращаться к RTOS, а более приоритетный цикл управления двигателем продолжает работать как ни в чём не бывало. Каждая микросекунда в замаскированном состоянии напрямую прибавляется к худшей задержке прерывания.

← Назад к словарю