[ECOS] AT91 interrupt driven functionality

harri.siirtola@vtt.fi harri.siirtola@vtt.fi
Wed Sep 12 01:09:00 GMT 2001


I wrote:
>> 1. I can't find any references to the tx & rx buffer pointers & char
>> counters (US_RPR, US_TPR, US_RCR, US_TCR), not even in the register address
>> definitions in plf_io.h. Shouldn't there be some in order to use buffered
>> I/O (or non-blocking transfers)?

Jifl:
>All we need to know is that data is ready, and we can just read the RHR to
>get it, surely? I'm not particularly familiar with the AT91 driver, but the
>driver code seems to make sense.
 
Looking at the USART description, the Peripheral Data Controller takes care
of buffered USART I/O. I think one should init the buffer pointer (US_TPR
in tx case) and write data count to US_TCR. The transfer is triggered by
TXRDY and ENDTX interrupt is asserted when the buffer is empty. Transfer is
restarted by writing a non-zero value to US_TCR. There's still something
unclear in the rx case, so please look at it when you have time.

I don't use any net functionality, nor did I enable it in my config. I
updated my CVS a month ago, are there some modifications to USART
functionality or just networking?

Thanks,
	Harri



More information about the Ecos-discuss mailing list