I looked through various documents and could not find how the scheduler might work, when only one task is defined. For example, take a typical super-loop routine and make it a task, the only task, such that it runs forever and never blocks/suspends. Will the scheduler even need to run after the initial call to vTaskStartScheduler() ? How will it behave?
Thanks in advance.
The scheduler behaves the same however many tasks are created. If you create only one task that never blocks and above tskIDLE_PRIORITY then only your task will run. If you create it at tskIDLE priority and configUSE_TIME_SLICING is 1 then both your task and the idle task will run. If you create it at tskIDLE_PRIORITY and configUSE_TIME_SLICING is 0 then only your task will run, but the idle task might run once first.