I’m using the FreeRTOS V8.2.1 on an old STR755 controller. Now I have problems with the interrupt priorities.
Equal how the priority of each interrupt is set, it is not possible to interrupt a running service routine by another interrupt with higher priority.
What can the reasn be?
Thank you in advance.
It’s been a while since I’ve worked on them, but I don’t think the ARM7 (not to be confused with ARMv7M) does not support interrupt nesting. Supporting nesting on those parts is complex as the MCU switches to IRQ mode when it accepts an interrupt so you have to do some extra context saving (interrupt context, not task context), then switch to another mode again before enabling interrupts. Then when another interrupt comes in and you again switch to IRQ mode you don’t overwrite the previous interrupt context. You can keep each IRQ as short as possible by using the IRQ to send a task notification to a high priority task and have the processing done in the task.