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
sorry, I somehow missed what you have written about priority.