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

AT91SAM: nested interrupts

Hi all,

in my project, I've three main processes (ethernet stack, gui-tft and usart interface). The gui routine (for the whole user interface including touch, tft, encoder) takes its time, therefore the ethernet stack part uses an interrupt (execution all 0.1ms). It's important to process these ethernet ptks very fast.

The usart also uses an interrupt if a pkt will be receveid; therefore it is possible to get nested interrupts. Because it is possible to get two or more data bytes by the usart during one ethernet interrupt (0.1ms)...

Is there a option / possibility to work with nested interrupts (a work around)? To get all events? The controller I'm using is the AT91SAM9263 from Atmel.

best regards
Hannes

Parents
  • Because, the Gui_Update() function takes too long... therefore I tried to use an timer interrupt for processing the incoming ethnernet pkts (to process one pkt takes longer than two or more interrupts events (usart) -> nested interrupts...

    The pkts at the usart will arrive all 40us. In the worst case (both usart connections): 20us.

    Without using the timer interrupt, all ISRs are fast enough to achieve these timings. But the GUI_Update function won't..., if this function is running, the processor will miss (has not enough time to process these pkts) two or three ethernet pkts...

Reply
  • Because, the Gui_Update() function takes too long... therefore I tried to use an timer interrupt for processing the incoming ethnernet pkts (to process one pkt takes longer than two or more interrupts events (usart) -> nested interrupts...

    The pkts at the usart will arrive all 40us. In the worst case (both usart connections): 20us.

    Without using the timer interrupt, all ISRs are fast enough to achieve these timings. But the GUI_Update function won't..., if this function is running, the processor will miss (has not enough time to process these pkts) two or three ethernet pkts...

Children
No data