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]
Other format: [Raw text]

Re: Atmel/AT91/ARM SERIAL PORT DRIVER REWRITTEN WITHHARDWARE BUFFERING


On Wed, 2002-01-16 at 02:40, psheer wrote:
> The solution is to use the PDC in both directions,
> disable RXRDY/TXRDY interrupts entirely, and insert
> some REALLY fast flip buffer routine inside eCos's
> main interrupt handler.

And because it's the _main_ (ARM) eCos interrupt handler, there's no way
we could accept that code.

The correct way to resolve the interrupt latency issue is to make the
serial interrupt a FIQ (if possible) and write a separate handler for
it. I'm sure it'll require a lot more surgery to get right (the addition
of special FIQ handling has been discussed before on this list), but
it'd have a chance of being included.

Alternatively (and properly better in the long run), we could make the
call to hal_IRQ_handler in vectors.S a macro that can be overriden by
platforms. A platform like the AT91 could then provide their own
implementation of the function.

Jesper


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