Forum: µC & Digital Electronics [ARM7] ISR too slow -> interrupt not triggered

Author: Teakep (Guest)
Posted on:

Rate this post
0 useful
not useful
This is a crosspost from: Beitrag "[ARM7] ISR zu langsam -> kein Interrupt mehr"

I'm currently facing a problem using a AT91SAM7X256.
An external interrupt is triggered every millisecond and the 
corresponding ISR does some calculations. This setup is working in 
general but under certain circumstances I'm facing an unknown problem 
which leads to the ISR not being called anymore - the main loop of the 
controller still runs smoothly. I did some testing and figured out that 
this is caused by my ISR doing too much stuff. If I comment out some 
(random) parts or increase the time interval between to IRQs to two 
milliseconds it is working again.
This is, I'm able to work around my problem but I want to understand 
what causes this issue.
Maybe someone can explain this behavior to me?

By the way: I'm using FreeRTOS.
    // Input on PIN_1
    AT91F_PIO_CfgInput(AT91C_BASE_PIOA, IOA_PIN_1);

    // Interrupt on PIN_1
    AT91F_PIO_InterruptEnable(AT91C_BASE_PIOA, IOA_PIN_1);

    // Setup interrupt

    AT91F_AIC_EnableIt(AT91C_BASE_AIC, AT91C_ID_PIOA);

int dummy = AT91C_BASE_PIOA->PIO_ISR;
void isr_pioa_Wrapper(void)
    /* Save the context of the interrupted task. */

    /* Call the handler to do the work.  This must be a separate
       function to ensure the stack frame is set up correctly. */

    /* Restore the context of whichever task will execute next. */
void isr_pioa_Handler(void)
    int dummy = AT91C_BASE_PIOA->PIO_ISR;
    dummy = dummy;


    // ...

    /* Clear the interrupt. */

Author: Otto (Guest)
Posted on:

Rate this post
0 useful
not useful
We No Speak Americano!


Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.