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.
Yes ,My interrupt is coming at every tenmillisecond,at every tenmillisecond i have to call the isr_task. can u tell me how to handle this situation? Does RTx have any limitation in handling more isr task?
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.
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?