This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: AT91 interrupt driven functionality


harri.siirtola@vtt.fi wrote:
> 
> 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'm afraid time is not something we have in abundance. Can I suggest you
have a go at it yourself? You seem like you have a promising theory, so
perhaps just follow it up and see if it works!
 
> 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?

It was just a suggestion as if you had had the net package enabled, it
might mean a particular bit of code may be responsible for the dropped
characters.

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]