When I use the keil to simulate the PDC of AT91SAM7S64 the problem come. I eable 'ENDRX interrupt' and 'RXBUFF interrupt' then trigger receiving data. When the RCR count to zero, then automaticly the RNPR loads to the RPR and the RNCR loads to the RCR. This is correct, and I think at the same time the 'ENDRX interrupt' should be triggered because receiver transfer ends, but the fact is 'ENDRX interrupt' never be trigger. Just when the RCR count to zero again, then the 'ENDRX interrupt' and 'RXBUFF interrupt' are both triggered. This is a bug of the keil software simulation or my idea about the logic is wrong? Anybody can help me?
Just now I Debug the program with the hareware of 7S64, I used the USART0 channel of the PDC. My idea is right, When the RCR count to zero, then automaticly the RNPR loads to the RPR and the RNCR loads to the RCR, and at the same time the 'ENDRX interrupt' be triggered. But by the simulation of the software the 'ENDRX interrupt' will not be triggered until the RCR count to zero again. So I think maybe this a bug of the simulation of 7S64. My idea is right?
The problem has been already fixed in CARM V2.40. Please use the current version of the tools (http://www.keil.com/demo/). Reinhard