Högvattenmärke (stack)
Det minsta lediga stackutrymme en uppgift någonsin haft — mätt genom att måla stacken och se hur långt färgen skrapats bort.
I ett RTOS får varje uppgift en egen stack med fast storlek, och för liten stack ger fel som ser ut som slumpmässig minneskorruption. Tekniken är enkel: vid skapandet fylls stacken med ett känt mönster (FreeRTOS använder 0xA5), och senare räknar man hur många byte från botten som fortfarande har det. uxTaskGetStackHighWaterMark() returnerar just det talet.
Märket visar bara de kodvägar som faktiskt har körts. Det värsta avbrottet i kombination med det djupaste anropet kanske aldrig inträffade under testet, så man lägger på marginal eller kompletterar med statisk analys som GCC:s -fstack-usage. Ett MPU-skyddat gränsområde fångar överskridandet i stället för att låta det skriva över grannens data — och ger en HardFault man åtminstone kan felsöka.