When will the configKERNEL_INTERRUPT_PRIORITY be implemented in the ARM7 ports? Best regards, Frank Andersen
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.
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
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.
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
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.