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

Parents Reply Children