In my application there’s two high priority interrupts fired periodically by an AD conversion. Inside those interrupts subroutines some data are acquired and send to a task through a queue (xQueueSendFromISR). Using an IO pin to analize the execution time of those subroutines I detected that sometimes the period (that usually takes 20us to execute) jumps to something close to 200us.
The configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY flag is defined to 2 and the AD conversion interrupt priority is set to 4 (lower priority, matching the documentation requirements when using FreeRTOS calls inside interruptions).
I think that the reason why the ISR routine is taking longer time to execute is because some higher priority interrupt is taking the processor. But since all my interrupts are set to lower priority values, maybe is some kernel interrupt that is executing.
So my question is: is there any kernel interrupt with a priority higher than configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY?
If yes, is it normal to take so long to run (about 150us)?
Microcontroller - MK64F - Cortex M4f running at 120Mhz
FreeRTOS Kernel V10.3.0 - Port from NXP MCUXpresso
Thanks in advance!