FreeRTOS - Task SchedulingIn FreeRTOS, if two tasks have the same priority but one never executes, which debugging step is most appropriate?AIncrease the priority of the non-running taskBCheck if the non-running task is blocked or suspendedCDisable time-slicing in FreeRTOSConfig.hDReduce the stack size of the running taskCheck Answer
Step-by-Step SolutionSolution:Step 1: Understand equal priority schedulingTasks with equal priority should share CPU time fairly.Step 2: Identify why a task never runsIf a task never runs, it may be blocked, suspended, or waiting on a resource.Final Answer:Check if the non-running task is blocked or suspended -> Option BQuick Check:Blocked tasks do not get CPU time [OK]Quick Trick: Blocked or suspended tasks do not run [OK]Common Mistakes:Assuming priority change fixes schedulingDisabling time-slicing unnecessarilyAdjusting stack size unrelated to scheduling
Master "Task Scheduling" in FreeRTOS9 interactive learning modes - each teaches the same concept differentlyLearnWhyDeepVisualTryChallengeProjectRecallTime
More FreeRTOS Quizzes RTOS Fundamentals - Task states (Ready, Running, Blocked, Suspended) - Quiz 6medium RTOS Fundamentals - Why RTOS over bare-metal - Quiz 3easy Task Creation and Management - Task priority assignment - Quiz 13medium Task Creation and Management - Task handle usage - Quiz 7medium Task Creation and Management - Multiple tasks running concurrently - Quiz 4medium Task Creation and Management - Stack size allocation - Quiz 5medium Task Priorities - uxTaskPriorityGet() for reading priority - Quiz 2easy Task Priorities - uxTaskPriorityGet() for reading priority - Quiz 1easy Task Priorities - Choosing priorities for real applications - Quiz 10hard Task Scheduling - Priority-based scheduling - Quiz 13medium