Can interrupts be nested?
See the description of the configKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY configuration parameters for additional information. As downloaded most ports do not implement interrupt nesting – the exceptions being the Cortex M3 and PIC32 ports. In most cases the use of a fast real timer kernel removes the need for interrupts to nest. Nesting interrupts introduces uncertainty into the stack usage requirements and complicates system behaviour analysis. Instead it is preferred that interrupt handlers do nothing but collect event data, post the data to a task, and clear the interrupt source. This permits the interrupt to exit very promptly by deferring any necessary computational processing of the event data to the task level – inside ‘interrupt tasks’. The task level processing can be performed with interrupts enabled, negating the requirement for nesting. This scheme has the added advantage of flexible event processing prioritisation. Task priorities are used instea