This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Triggering a SWI while in IRQ

Hello,

I need to force an OS context switch immediately after some IRQ is handled (power failure detection) - I cannot allow any other task to run after the IRQ except the highest priority task that is waiting for a signal. But I cannot allow the task that was interrupted to finish its time slice, thus I'm trying to induce a SWI by this code

VICSoftInt = (1<<4) ; // the constant used to address the proper hardware time is placed in "RTX_cofig.c"

However, I see that the IRQ is repeatably triggered (even if the matching register is reset!), and the SWI function is never executed (at least, in a test program that is running on the simulator). This is clearly something in the architecture (ARM7) I'm not aware of, but I did not find anything in the documentation prohibiting this. Can you enlighten me...?

0