This is the mail archive of the ecos-discuss@sourceware.cygnus.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: pid_serial driver



> The pid_serial driver appears to be a generic 16c550 driver,
> right?  Apart from the addresses of the UARTs being hard-wired
> into the source code (grin) I don't see anyting that looks
> specific to the PID board or even to the ARM processor.

FYI,

I've noticed that the 16c550 driver (pid_serial_with_ints.c)
doesn't take advantage of the transmit FIFO.  For each Tx
interrupt it only writes a single byte to the UART.  IIRC, on
the '550 there's no read the Tx FIFO count or tell when the
FIFO is full.  You just have to "know" that when you get an
interrupt you can write 12 bytes.  (I think it's 12...)

With the '850, you can actually read the Tx FIFO count, and use
that instead of the transmitter holding register empty bit in
*_putc() to determine if there's room for another byte.

-- 
Grant Edwards
grante@visi.com

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