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

RTS FIFO ERROR

hi,

I am portig RTX to my arm7 processor,In the interrupt handler function i am calling isr_evt_function ,it runs the isr task for sometime and returns fifo overflow error.
can anyone tell me what could be the reason for this.

Thanks
Geetha.

Parents
  • There is a configuration how many isr_xx() calls that can be queued, before RTX is given time to process the queued state changes and decide if any task switch will be needed.

    But the size of that queue doesn't matter if you can't guarantee that the processor regularly gets time to "unwind" all pending calls.

    By the way - why do you talk about ISR task? Tasks or threads are normally the name for the "semi-concurrently" running entities that RTX time-slices between. And the interrupts gets handled by ISR - interrupt service routines. And each ISR should be very, very quick and then exit so as much time as possible is free for RTX to prioritize between possible threads/tasks, depending on priority, pending events, content of mail boxes, ...

    Anyway - 10 ms is not a high interrupt frequency. But it matters how many isr_xx() calls you do, and how long time it takes until you end the ISR giving back the control to RTX to decide on what to run.

Reply
  • There is a configuration how many isr_xx() calls that can be queued, before RTX is given time to process the queued state changes and decide if any task switch will be needed.

    But the size of that queue doesn't matter if you can't guarantee that the processor regularly gets time to "unwind" all pending calls.

    By the way - why do you talk about ISR task? Tasks or threads are normally the name for the "semi-concurrently" running entities that RTX time-slices between. And the interrupts gets handled by ISR - interrupt service routines. And each ISR should be very, very quick and then exit so as much time as possible is free for RTX to prioritize between possible threads/tasks, depending on priority, pending events, content of mail boxes, ...

    Anyway - 10 ms is not a high interrupt frequency. But it matters how many isr_xx() calls you do, and how long time it takes until you end the ISR giving back the control to RTX to decide on what to run.

Children
  • when interrupt comes ,it will go to the interrupt handler function and the isr_evt_set will call the respective task to run.
    That task will take nearly 4ms.every time interrupt comes ,it will do the same things only.
    But after receiving some interrupts ,it hangs and simply goes to while loop in main function.

    Is there any configuration ,to set how many isr calls can be queued?