We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I want to ask if its possible to use the same ISR for various interrupts sources, as I want to implement a "OS like" function that handles all the interrupts and jumps into the corresponding user ISR performing different privilege/stack adjustments.
I dont know if this is possible and if there is a way to know the specific interrupt source that caused the interrupt inside the same function.
Thanks!! All comments would be appreciated
Yes - if you look at many implementations, you will see that they use the same default handler for all interrupts.
riglesias said:if there is a way to know the specific interrupt source that caused the interrupt inside the same function
Probably the easiest way is to have a separate ISR for each interrupt, and that ISR passes source info, etc, to your "common" handler.
__get_IPSR() from the interrupt handler will give you an integer indicating the interrupt number (1 is Reset, 16 is the first Programmable interrupt...)
Thanks. This is what i was looking for