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...?

Parents
  • Per,

    Thanks for your reply. I will have a look at RTX's sources to see if the behavior is as you decribed (I assumed the same when I wrote the code - I am trying to find an explanation for a weird failure - but that's another story...). Maybe I missed a statement about this behavior in the RTX manual. Thanks for your reply.

Reply
  • Per,

    Thanks for your reply. I will have a look at RTX's sources to see if the behavior is as you decribed (I assumed the same when I wrote the code - I am trying to find an explanation for a weird failure - but that's another story...). Maybe I missed a statement about this behavior in the RTX manual. Thanks for your reply.

Children