rtel wrote on Wednesday, December 12, 2012:
You have not said which port you are using, or which RX interrupt you are using.
Note that some ports never globally enable or globally disable interrupts, but instead just modify the priority level interrupt mask. Therefore, if interrupts are globally disable, calling portENABLE_INTERRUPTS() will only set the interrupt mask level down without actually enabling interrupts.
There is no problem using interrupts before the scheduler starts *provided* the interrupts don’t make use of the FreeRTOS API. To protect against the possibility of an interrupt that does use the FreeRTOS API executing during initialisation most FreeRTOS API functions will leave interrupts disabled (or the mask level up) when they exit if the kernel is not running (interrupts becoming automatically enabled/unmasked when the scheduler starts).