I came across the fact that there is a dispatcher layer between the normal routines and user-defined interrupt handlers in CCES run-time environment. I understand the reason why adding the dispatcher layer would help developers -- being able to treat all the interrupt handlers as a normal subroutine (use RTS instead of RTI / RTN), save context, set up a pure C environment and etc.
However, I also notice the fact that having a dispatcher layer is a bit clumsy for interrupts. I tested the NMI handler (does nothing at all, just simply return) with dispatcher, the CCES run-time environment took around 50 cycles to simply jump in and out or the NMI handler. BTW, I am using BF533 with silicon version 0.6.
Interrupt handlers are supposed to be short and fast in most cases. Since it seems no further information provided bu the CCES manual, I am wondering if there is any way to disable the dispatcher and use "primitive" methods to handle interrupts, like VDSP.