I’ve recently completed an ARM9 build (LH7A404) and have a question regarding the processor modes using FreeRTOS. The RTOS is configured in a FIQ preemptive mode.
Because the User and System mode share a cpsr, I find it necessary when executing FreeRTOS in the System mode to add enable_fiq’s at the end of the FIQ ISR, but find it not necessary if FreeROTS is executed in the supervisor mode.
Does FreeRTOS expect (among other places within it’s code) that one execute the kernel in System or Supervisor mode?
And does FreeRTOS expect all the tasks to run in System mode as opposed to User mode?