This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: AT91 interrupt driven functionality
- To: ecos-discuss at sources dot redhat dot com
- Subject: Re: [ECOS] AT91 interrupt driven functionality
- From: harri dot siirtola at vtt dot fi
- Date: Wed, 12 Sep 2001 11:09:05 +0300
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