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

interrupt problem?

Hi,

I've a problem working with the AT91SAM9263 controller from atmel.

I receive ethernet packets via an interrupt (highest priority). The ISR is very short, I only read the status register, count the nbr of rcvd packets and control if there are any kind of errors.

I've another interrupt ISR routine for the usart (using a lower priority) and an interrupt routine for the PIT timer (using the lowest priority). Both ISR are very short, too.

If I receive a few packets (400 pkt/sec on ethernet and 100 pkts/sec on the usart), it seems that I miss a few events - getting no interrupt for every rcvd pkt (for the ethernet connection). After a short time, all buffers for the ethernet connection are full and I get an error interrupt from the DMA (which is responsible to store the ethernet pkts on the right location in the internal sram) "no buffer available".

I don't think that both baud-rates are very huge / or to huge for the processor.

The processing of the eth packets is very short, too. I only store them in an additional buffer, and give the other buffer back to the DMA. The processing of the packets from the usart is not available. Within the ISR, I store the data in a buffer - that's it.

When I don't use the usart connection, everything is working (I didn't get an "no buffer available" error).

Could someone of you imagine which kind of problem will exist?

best regards
David