From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Larmour To: "Trenton D. Adams" Cc: eCos Discussion Subject: Re: [ECOS] SERIAL NON-BLOCKING mode in HW independent layer? Date: Fri, 14 Sep 2001 10:41:00 -0000 Message-id: <3BA2412D.C7C6E80@redhat.com> References: <002301c13c70$abd17840$090110ac@TRENT> X-SW-Source: 2001-09/msg00346.html "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