When will the configKERNEL_INTERRUPT_PRIORITY
When will the configKERNEL_INTERRUPT_PRIORITY be implemented in the ARM7 ports?
Best regards,
Frank Andersen
When will the configKERNEL_INTERRUPT_PRIORITY
The ARM7 is a pain on this front as the interrupt controller is not part of the core – so there is not one solution for all ARM7 devices. The normal way is to use the FIQ, but I think you have already indicated that this is not an option on your processor.
To implement the configKERNEL_INTERRUPT_PRIORITY feature you need to change the enable/disable interrupt macros to only enable/disable interrupts below the kernel priority. I think this should be straight forward. You can keep the kernel at the lowest priority to make it easier.
Regards.
When will the configKERNEL_INTERRUPT_PRIORITY
Well, yes I agree that the ARM7 intrrupt controller is a pain.
But if I get my USB bulk interrupt to run outside the FreeRTOS, it will still be delayed a bit by eg. the TimerTick interrupt, as interrupts still not are nested?
And then I would need a Task to monitor a global variable to signal form the interrupt, runing outside of FreeRTOS, right?
Best regards,
Frank Andersen
When will the configKERNEL_INTERRUPT_PRIORITY
If you define the disable interrupt/enter critical section macro to only disable interrupts below a certain priority, and your USB interrupt is above this priority, then the USB will not get delayed by the kernel activity. This is how the ports that use the configKERNEL_INTERRUPT_PRIORITY feature work. For example, on the Cortex-M3 demo I have a 20KHz interrupt running at a higher priority than the 1KHz RTOS tick – and measure the jitter in the timing. The jitter is no greater than can be calculated from the datasheet as the maximum due to the processor itself – a matter of a few instruction cycles.
Regards.
When will the configKERNEL_INTERRUPT_PRIORITY
Hi Richard,
Well mabye the Cortex-M3 is different from the ARM7 interrupt controller.
If the ARM7 is going to execute a interrupt of a higher priority, while executing another interupt, the mode has to change to system and interrupts to be enabled again. (Nested Interrupts)
But I think it might would help to let the USB bulk run outside the FreeRTOS, by changing the interrupt enable / disable functions.
Best regards, Frank Andersen