IT-lexicon › Hardware › PendSV

PendSV

Hardware Svenska → Bijgewerkt: 2026-11-03

Een Cortex-M-exception die bedoeld is om uitgesteld te worden, en daarom doet vrijwel elk RTOS er zijn taakwisselingen.

PendSV, de Pendable Service Call, is exception nummer 14 op Cortex-M. Geen enkel randapparaat roept hem aan; software doet dat door een bit in het ICSR-register te zetten. De truc is dat hij op de laagste prioriteit van het systeem wordt ingesteld, zodat hij pas draait als alle andere interrupts klaar zijn.

Dat is precies wat een RTOS wil. De SysTick-handler besluit dat een andere taak moet draaien, maar midden in een keten van geneste interrupts van stack wisselen vraagt om problemen. Dus wordt PendSV als pending gemarkeerd, en de eigenlijke contextwissel vindt plaats wanneer de hardware toch al op weg is terug naar thread mode. FreeRTOS, Zephyr en de meeste andere Cortex-M-kernels werken zo. Zijn broertje SVC is daarentegen synchroon en wordt voor systeemaanroepen gebruikt.

← Terug naar het lexicon