This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: SERIAL NON-BLOCKING mode in HW independent layer?
- To: "Trenton D. Adams" <tadams at theone dot dnsalias dot com>
- Subject: Re: [ECOS] SERIAL NON-BLOCKING mode in HW independent layer?
- From: Jonathan Larmour <jlarmour at redhat dot com>
- Date: Fri, 14 Sep 2001 18:41:01 +0100
- Cc: eCos Discussion <ecos-discuss at sourceware dot cygnus dot com>
- Organization: Red Hat UK Ltd.
- References: <002301c13c70$abd17840$090110ac@TRENT>
"Trenton D. Adams" wrote:
>
> I assume non-blocking mode for serial device drivers is entirely handled
> by the hardware independent layer right? I'm not quite sure about this
> yet since it appears that cyg_io_read () and cyg_io_write () simply call
> the function I provided in the function structure.
Not the io/common layer which purely provides an encompassing API, but nor
is it the hardware - it's the bit in the middle, like the io/serial/ layer
that does it.
> However, there appears to be serial_XXX functions which do handle this.
> One of the serial tests uses cyg_io_read () and cyg_io_write () directly
> though. I would think this would not allow non-blocking mode!
>
> Where do I find information on what the proper way of accessing a serial
> device is? eg. cyg_io_xxx () or serial_xxx ()? I've seen some posts
> saying that serial_read () and serial_write () are used, but I want some
> actual docs on it.
>
> The eCos reference manual doesn't appear to talk about how to actually
> access the serial devices other than through cyg_io_read () and
> cyg_io_write ().
That's the only official external API, and that's what you should use. When
you set non-blocking mode it makes cyg_io_read() and cyg_io_write() be
non-blocking when referring to those devices.
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