I’m working on a porting and my embrional work seems ok: several tasks are scheduled and I’m able also re-schedule (through TaskYIELD). At moment I don’t use queues or ISRs.
In the current implementation I have only one Irq (the Tick ones) so that the context is saved into Task stacks.
Is it acceptable to use for all the other ISRs (CAN, SPI,…) the same handling?
I have a schema like this:
irq source --> ISR handler (for all irqs) --> call to specific handler
The ISR handler entry point is unique for the system: when a irq exception is arised the main handler is called. After the context store into the stack, the irq handler (the one relative to the exception) is called.
Is it important/mandatory differentiate the handling for common irqs and tasks?
Please help me.