Setting up context for the scheduler

I use timers and interrupts prior to calling  vTaskStartScheduler() as part of a startup routine. Aside from calling portDISABLE_INTERRUPTS(), is there any other cleanup required to define the proper context before starting the scheduler???

Setting up context for the scheduler

I’m not sure exactly what the question is, but as long as you don’t try doing a context switch before the scheduler has started you should be ok. Normally interrupts will get disabled by calling an API function if the scheduler is not started in any case.

Setting up context for the scheduler

I’m just asking what the required state be when starting the scheduler for the first time.  As far as I know (for an ARM), it’s just:
1) interrupts disabled.
2) in supervisor mode.

Setting up context for the scheduler

1) interrupts disabled.
2) in supervisor mode.
That is correct. FreeRTOS will disable interrupts temporarily while the scheduler is being started in any case. Interrupts will be enabled when the first task actually starts executing (by default in any case).