Lessico IT › Hardware › PendSV

PendSV

Hardware Svenska → Aggiornato: 2026-11-03

Un'eccezione dei Cortex-M pensata per essere rinviata, ed è per questo che quasi ogni RTOS esegue lì il cambio di task.

PendSV, la Pendable Service Call, è l'eccezione numero 14 dei Cortex-M. Nessuna periferica la genera: lo fa il software, impostando un bit nel registro ICSR. Il trucco è che viene configurata con la priorità più bassa del sistema, quindi viene eseguita solo quando tutti gli altri interrupt sono terminati.

È esattamente ciò che serve a un RTOS. Il gestore di SysTick decide che deve girare un altro task, ma scambiare gli stack nel mezzo di una catena di interrupt annidati è un invito ai guai. Così segna PendSV come pendente, e il vero cambio di contesto avviene quando l'hardware sta comunque tornando alla modalità thread. FreeRTOS, Zephyr e la maggior parte degli altri kernel Cortex-M funzionano così. La sua gemella SVC, invece, è sincrona e usata per le chiamate di sistema.

← Torna al lessico