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 tskIDLEPRIORITY then only your task will run. If you create it at tskIDLE priority and configUSETIMESLICING is 1 then both your task and the idle task will run. If you create it at tskIDLEPRIORITY and configUSETIMESLICING is 0 then only your task will run, but the idle task might run once first.