AnsweredAssumed Answered

Using raise() function to force interrupt

Question asked by AstroMedGlen on Dec 18, 2009
Latest reply on Dec 21, 2009 by AstroMedGlen



    I have a C project in which I need to force a IRQ0 interrupt several times before I start responding to real ones. I'm finding that when I use the raise() or raisensm() function to force an interrupt the DSP will no longer respond to real interrupts afterwards. If I do not use a raise function at all, the DSP responds normally to real external interrupts.


     Also, the reverse happens as well, If I receive a real interrupt before I force one, then I can no longer force them either.


I initialize the interrupt with:


// Set up interrupt
sysreg_bit_set(sysreg_MODE2,IRQ0E);        // edge triggered
interrupts (SIG_IRQ0, timer_isr_ASM);


Then I would force it with:






My ISR is wriiten in assembly and I use the C marcos for calling asm functions from C:




    entry;  // stack support macro for ASM interfacing.


    my asm code....


_timer_isr_ASM.end: exit;  // stack support macro for ASM interfacing.


Any assistance with this problem would be very helpful.


Thank you,