แนวคิด (2) — stack ต่อ task และ high-water mark
ใน FreeRTOS แต่ละ task มี stack ของตัวเอง เป็นจำนวน word (4 ไบต์บน CPU 32 บิต) เช่น xTaskCreate(bento_heartbeat_task, "HB", 256, NULL, 1, NULL)
วิธีวัด: ตอนสร้าง task FreeRTOS ระบายไบต์ 0xA5 ทั่ว stack แล้ว uxTaskGetStackHighWaterMark() นับว่ายังเหลือ 0xA5 ที่ไม่เคยถูกเขียนทับกี่ word — ค่านี้คือ ค่าต่ำสุดตลอดอายุของ task ลดได้อย่างเดียว
SDK เปิดตัวนับแบบเดียวกัน เช่น ai_engine_stack_free_words() ซึ่งตัวอย่าง 07_engine_health.c บอกว่าเป็น "ALL-TIME MINIMUM. It only ever falls."
หลักตัดสินของหลักสูตรนี้ (ไม่ใช่ตัวเลขจาก SDK หรือ FreeRTOS): เหลือน้อยกว่า 32 word = วิกฤต · เหลือน้อยกว่า 1/4 = ต่ำ