Learn vocabulary for debugging RTOS applications: task starvation, priority inversion, deadlock, watchdog timer, stack overflow, and JTAG debugging.
0 / 5 completed
1 / 5
What is 'task starvation' in an RTOS?
Task starvation occurs when a low-priority task is permanently prevented from running because higher-priority tasks consume all available CPU time. Solutions include priority aging (gradually raising a task's priority the longer it waits) or redesigning task priorities.
2 / 5
What is 'priority inversion' in RTOS scheduling?
Priority inversion is a classic RTOS hazard — the high-priority task effectively inherits a lower priority because it is blocked on a mutex held by a low-priority task that keeps getting preempted. The priority inheritance protocol is the standard mitigation.
3 / 5
What is a 'watchdog timer' in embedded systems, and what does it detect?
The watchdog timer is a safety mechanism: the application periodically 'kicks' (resets) the timer to signal that it is running correctly. If a fault causes the code to stop kicking the watchdog, the timer expires and triggers a system reset — recovering from hangs automatically.
4 / 5
What does 'stack overflow in embedded' mean, and why is it dangerous?
In RTOS environments, each task has a fixed stack allocation. If a task's stack grows beyond this (deep recursion, large local variables), it silently corrupts adjacent memory. Many RTOSes provide stack watermarking to monitor high-water marks and detect overflow risks.
5 / 5
What is JTAG debugging, and what does it allow engineers to do?
JTAG (Joint Test Action Group) is a hardware debug interface present on most microcontrollers. With a JTAG probe and a debugger (such as OpenOCD or J-Link), engineers can halt execution, inspect live memory and registers, set breakpoints, and single-step through code — essential for diagnosing low-level embedded bugs.