Termios: Non-blocking read() working? .-
Sebastian E. Garcia
sg-listas at slabs.com.ar
Sat Jun 9 01:16:13 UTC 2012
Hi Joris,
First of all, thanks for your kind reply.
On 06/08/2012 05:30 PM, Joris van Rantwijk wrote:
> Hello Sebastian,
>
> On 2012-06-08, Sebastian E. Garcia wrote:
>> After some tests, I'm in doubt if this feature of Termios is
>> implemented in RTEMS/LEON3_BSP.
>
> Are you using real RTEMS 4.10 from rtems.org, or the Gaisler port of
> RTEMS. There are substantial differences in hardware drivers.
I'm using the Gaisler port.
> The APBUART driver from original RTEMS 4.10 (/dev/apbuart0, etc.)
> is not based on Termios as far as I know. So VMIN/VTIME stuff will
> simply not work.
In recent years Termios was implemented into the Gaisler port, at least
to some extent (the documentation available is confusing/outdated). In
fact, from simple tests it seems that the blocking configurations of
VMIN/VTIME are working.
> I wrote a Termios driver for APBUART a few years ago which supports
> non-blocking I/O. Not sure that it still works with current RTEMS.
>
> Feel free to try this if you think you can use it
> http://jorisvr.nl/files/leon3/leonuart20100811.zip
OK, thank you very much! I'll give it a try.
> I should maybe try to get this merged in RTEMS. The problem is this
> code is not backwards compatible with the current APBUART driver,
> precisely because it is Termios based.
>
> Regards, Joris.
So, from your words I understand that the Termios version found in a
"vanilla" RTEMS, implements OK the non-blocking operation. Of course,
this must be verified also at the lower lever driver for a given BSP.
Thanks again and kind regards,
Sebastian.
More information about the users
mailing list