-
Book Overview & Buying
-
Table Of Contents
Practical Debugging for Embedded ARM Systems
By :
In this section, we will look at RTOS task scheduling and how multi-tasking issues can be debugged.
Typically, an RTOS operates based on tasks. Each task has to be initialized, and during initialization, it gets a priority level assigned.
The priority level decides which task may be executed first if multiple tasks are pending at the same time. The higher-priority tasks execute first. If priorities are equal, the first task that is pending executes first. Let's assume that we designed an application where we have two tasks, where one should have a higher priority than the other. For simplicity, let's call them high-priority task and low-priority task. The expected behavior of such a system would be that the high-priority task always gets prioritized. If the low-priority task is running while the high-priority task is pending, the high-priority task can preempt the execution of the low-priority task.
If the priorities are accidentally...